Hi, thanks for sharing this problem.
This feels like sequence dependent behaviour to me. I personally have no information on how JustMock resets mocks between setup calls, but from what you've described, it feels like it's carrying state from previous mock calls in previous tests that were run in the same process.
Under NCrunch, the tests that are run in a test process can be extremely variable. Test processes can also be re-used across runs. Sequence dependent behaviour in tests is usually much more visible under NCrunch than with other runners. See here for details -
http://www.ncrunch.net/documentation/considerations-and-constraints_test-atomicity.
Because the sequence dependent behaviour is happening in JustMock (or through how JustMock is used), I can't provide any guidance on how to properly fix this problem. I can, however, provide a workaround.
If you mark the tests involved with
NCrunch.Framework.IsolatedAttribute, the tests will be run in isolated processes in a manner where state cannot be transferred between their execution runs. As such, sequence dependent behaviour becomes impossible.