Overall, I prefer less magic and more explicitness.
Overall, I prefer less magic and more explicitness.
It has a bit of an initial learning curve, but once you understand how fixtures work it's amazing how productive you can be with it.
Also with improvement of type hinting, tooling like PyCharm starts to understand pytest better and make it easier to read and manage and a lot of the magic can be dispellt by written out explicitly. Though this need some discipline from the dev team.
I might be in the minority but I also find python's mock implementation awful. Mockito in Java is way better where you explicitly state which calls you expect and if you get an unexpected call it errors out.
Pytest is very opinionated about how and when it's going to be run. If you want to put a test in say, Jupyter or a Markdown block, unittest is much more amenable to just doing what you want without having to read through documentation to break a whole bunch of magic behavior.
By “Java written all over it” do you mean that like JUnit for Java, it's an implementation of the xUnit pattern derived from SUnit for Smalltalk?
So, it's maybe not the best evidence that the Python version is particularly a clone of the Java port.
And regarding the sibling comment: Yes, I prefer unittest as well.