If you use fuzzing a lot, where do you put your fuzzers ? I can see a few options
tests/SomeModuleTest.elm, seems logical but then it is not entirely clear how to reuse it in some other test. import SomeDataTest exposing (fuzzSomeData) perhaps ?
tests/Fuzzers/SomeDataFuzzer.elm, to cleanly separate the fuzzers from the tests that use them ?
src/SomeData.elm. Makes sense to bring a generator next to its source file, but adds a dependency to elm-explorations/test to the production build, which sounds bad.
I am incorporating some fuzzing in my test suites at the moment and I am wondering what the general usage is, if any…
If I only need the fuzzer in one test-file, then I put it there (1).
If I need it in several test-files, then I’ll move it to e.g. tests/TestUtil.elm which includes all utility-functions needed in test-tiles. And if I get a lot of fuzzers there then I can split them to dedicated fuzzers-file/files (2).
If you make sure that you don’t actually use the fuzzer in production code, then elms dead code elimination will completely eliminate this dependency for you.