I primarily develop in .Net, and have been playing around with F#. It's a nice concise language, but I'm just using it for throwaway code currently. I've taken to sitting my tests in the same file as the main code that I'm writing.I am under the unexamined opinion that this is done so that we don't have testing code floating around in production, and that we have separate dependencies for testing which we don't want to go to production.This has raised the question for me: why do we traditionally separate out test assemblies and not just use conditional compilation?
Why separate unit tests into an assembly
.net;unit testing