clojure.test fixtures, similarly to other mechanisms that hook functions to other functions (e.g. Emacs defadvice
or Rails before_action
) can be perceived as overly magical.
Personally I don't (or at least not much), but also can see why someone would feel that way when maintaining a given test.
Is this something you have tackled in the past? Maybe you agreed in some middle ground? Or maybe banned use-fixtures
altogether?
@vemv, test fixtures are fantastically powerful. But in general, we've gone away from them at Yummly, despite having used them pretty heavily in the past. The main reason we stopped using them was because test-fixtures make running things defined as deftest
difficult to run as raw functions, which people were doing pretty heavily before cider had good test running support. Nowadays, we could probably go back, but I like the "non-magical" control of being able to see at a glance everything that test is doing, without having to rely knowing that something's modifying it, but only when run with a proper test runner of some variety
but no hardcore opposal to them
Yeah I'm in a similar position (ambivalent), likewise I find the matter of running tests individually important, but CIDER is good at it The problem is where to draw the line :)