test: 修复 standings 约束断言的 flaky(匿名约束 name=None)
与 log-persistence 分支同款修复:constraints 集合含匿名约束(name=None), any() 子串匹配撞上 None 直接 TypeError,集合顺序不定导致间歇失败。 先判真值再匹配。
This commit is contained in:
@@ -73,7 +73,9 @@ class TestStandingsModel:
|
|||||||
|
|
||||||
def test_unique_constraint_includes_available_at(self):
|
def test_unique_constraint_includes_available_at(self):
|
||||||
names = {c.name for c in Standing.__table__.constraints}
|
names = {c.name for c in Standing.__table__.constraints}
|
||||||
assert any("available" in n and n.startswith("uq_") for n in names), \
|
# 匿名约束(PK/Check)的 name 是 None,必须先判真值再子串匹配,
|
||||||
|
# 否则 any() 撞上 None 直接 TypeError(集合顺序不定 → flaky)
|
||||||
|
assert any(n and "available" in n and n.startswith("uq_") for n in names), \
|
||||||
f"缺少含 available_at 的唯一约束,现有: {names}"
|
f"缺少含 available_at 的唯一约束,现有: {names}"
|
||||||
|
|
||||||
def test_old_unique_constraint_removed(self):
|
def test_old_unique_constraint_removed(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user