[TIP] Learning testing and TDD: unittest or PyTest or ?
Matěj Cepl
mcepl at cepl.eu
Sun Sep 25 14:00:42 PDT 2016
On 2016-09-25, 13:11 GMT, Florian Bruhin wrote:
> I'd recommend to go with pytest - as you already discovered,
> it has much useful functionality built-in, and is much more
> DRY (and requires less boilerplate) than unittest.py does.
Of course, a maintainer of pytest would see things in this way.
Just to add on the opposite side my experience with rewriting
rather large QA tests from pytest to the standard unittest.
Aside from our strong prejudice in favor of using just standard
library, there is my problem with py.test fixtures. They seem to
have some similar qualities to Perl ... they could be very very
mighty servant, but they could be also a very dangerous master.
The author of those tests fallen in love so much with py.test
fixtures, that he created completely undebuggable mess, with
variables jumping seemingly out of nowhere. Instead of
deciphering all that monstrosity, it was just more simple to
port all those tests to unittests, and the result is a way more
simple and readable. That is not completely fault of py.test,
the code was really horrible, but I would strongly warn py.test
users before falling completely head over the heels for the
fixture feature.
Matěj
--
https://matej.ceplovi.cz/blog/, Jabber: mcepl at ceplovi.cz
GPG Finger: 3C76 A027 CA45 AD70 98B5 BC1D 7920 5802 880B C9D8
Las cosas claras y el chocolate espeso.
(Ideas should be clear and chocolate thick.)
-- Spanish proverb
More information about the testing-in-python
mailing list