当使用 pytest
时, 当两个对象不等同时, 我就会得到漂亮的打印 :
Expected :Foo(id= red , other_thing= green )
Actual :Foo(id= red , other_thing= blue )
<Click to see difference>
def test_baz():
oneFoo = Foo(id="red", other_thing="blue")
twoFoo = Foo(id="red", other_thing="green")
> assert oneFoo == twoFoo
E AssertionError: assert Foo(id= red , other_thing= blue ) == Foo(id= red , other_thing= green )
E
E Full diff:
E - Foo(id= red , other_thing= green )
E ? ^^ --
E + Foo(id= red , other_thing= blue )
E ? ^^^
baz.py:22: AssertionError
如果我直接在我的代码中使用一个主张,我就会得到一个 AsssetionError
和一个堆叠跟踪。
我现在正在写一些整合测试, 这些测试不是由热潮驱动的, 而是想在两个项目(特别是Pydantic数据类)不相等时, 做漂亮的打印。