Skip to content

Commit 13f196b

Browse files
dpinolDani Pinyol
andauthored
Use pytest.raises() instead of try..except in tests (pydantic#12228)
Co-authored-by: Dani Pinyol <[email protected]>
1 parent 8a62354 commit 13f196b

File tree

2 files changed

+11
-15
lines changed

2 files changed

+11
-15
lines changed

tests/test_dataclasses.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3145,21 +3145,17 @@ class MyDataclass:
31453145

31463146
inst = MyDataclass('hello')
31473147

3148-
try:
3148+
with pytest.raises(dataclasses.FrozenInstanceError, match="cannot assign to field 'x'"):
31493149
inst.x = 'other'
3150-
except Exception as e:
3151-
assert "cannot assign to field 'x'" in repr(e)
31523150

31533151
@pydantic.dataclasses.dataclass(config=ConfigDict(frozen=True))
31543152
class MyDataclass2:
31553153
x: str
31563154

31573155
inst = MyDataclass2('hello')
31583156

3159-
try:
3157+
with pytest.raises(dataclasses.FrozenInstanceError, match="cannot assign to field 'x'"):
31603158
inst.x = 'other'
3161-
except Exception as e:
3162-
assert "cannot assign to field 'x'" in repr(e)
31633159

31643160

31653161
def test_frozen_with_validate_assignment() -> None:

tests/test_discriminated_union.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1772,35 +1772,35 @@ def model_x_discriminator(v):
17721772
if isinstance(v, (dict, BaseModel)):
17731773
return 'model'
17741774

1775-
try:
1775+
with pytest.raises(PydanticUserError) as exc_info:
17761776

17771777
class DiscriminatedModel(BaseModel):
17781778
x: Annotated[
17791779
Union[str, 'DiscriminatedModel'],
17801780
Discriminator(model_x_discriminator),
17811781
]
1782-
except PydanticUserError as exc_info:
1783-
assert exc_info.code == 'callable-discriminator-no-tag'
17841782

1785-
try:
1783+
assert exc_info.value.code == 'callable-discriminator-no-tag'
1784+
1785+
with pytest.raises(PydanticUserError) as exc_info:
17861786

17871787
class DiscriminatedModel(BaseModel):
17881788
x: Annotated[
17891789
Union[Annotated[str, Tag('str')], 'DiscriminatedModel'],
17901790
Discriminator(model_x_discriminator),
17911791
]
1792-
except PydanticUserError as exc_info:
1793-
assert exc_info.code == 'callable-discriminator-no-tag'
17941792

1795-
try:
1793+
assert exc_info.value.code == 'callable-discriminator-no-tag'
1794+
1795+
with pytest.raises(PydanticUserError) as exc_info:
17961796

17971797
class DiscriminatedModel(BaseModel):
17981798
x: Annotated[
17991799
Union[str, Annotated['DiscriminatedModel', Tag('model')]],
18001800
Discriminator(model_x_discriminator),
18011801
]
1802-
except PydanticUserError as exc_info:
1803-
assert exc_info.code == 'callable-discriminator-no-tag'
1802+
1803+
assert exc_info.value.code == 'callable-discriminator-no-tag'
18041804

18051805

18061806
@pytest.mark.xfail(

0 commit comments

Comments
 (0)