I started working on a rather large (multi-threaded) Python project with many (single) tests. The most important issue is that the application requires a predefined environment that is implemented by the context manager. So far, we have used the corrected version of the unit test runner, which ran tests inside this manager, but this does not allow switching context between different test modules.
Both noses and pytest support this kind of thing because they support devices in many details, so we are considering switching to nose or pytest. Both of these libraries will also support tagged tests and run only those flagged subsets that we would also like to do.
I looked through the documentation for both the nose and pytest, and as far as I can see, most of these libraries essentially support the same functions, except that it can be called differently or require slightly different syntax. In addition, I noticed some slight differences in available plugins (nose has multi-processor support, pytest doesn't seem to look)
So the hell seems to be in the details, which means (often at least) personal taste, and we better go with a library that best suits our personal taste.
Therefore, I would ask for subjective reasoning why I should go with my nose or pytest in order to choose the library / community that best suits our needs.
Jakob van Bethlehem Apr 04 '14 at 7:45 2014-04-04 07:45
source share