[py-dev] py.test: broken assert evaluate twice
Immanuel Scholz
immanuel.scholz at tu-dresden.de
Thu Aug 30 10:25:35 CEST 2007
Hi list,
I am rather new to py library and just started using py.test.
You may already have noticed, that the "assert" in magic-mode will
evaluate its arguments (e.g. the parts of an equality check) more than
once. This will not work, if the arguments have side effects, as in:
i = 1
def foo():
global i
i += 1
return i
def test_foo():
assert foo() == 3
Is there a common solution to this, other than the annoying
foo_result = foo()
assert foo_result == 3
thingie? Maybe py.test could preemptive cache all calls to assert
beforehand? Is this possible?
Ciao, Imi.
--
DF0E A04F 7063 69C5 A76B 7557 0A77 608F 9172 3535
More information about the Pytest-dev
mailing list