
On 07/19/2012 09:27 AM, damodar kulkarni wrote:
Good because library dependencies are reduced, but bad because tests are somewhat "disconnected" from the functions they are testing.
AFAIK, it's a good engineering practice to separate the tests from the code they are supposed to test. Code management issues will be there, but those can be taken care with the help of cabal like tool. That way, a person who wants to test will use the test-files and the one who doesn't want will be spared the trouble of separating tests from the intended function code.
This is the solution I'd prefer, but I quickly ran into a problem: if I want to test internal (non-exported) functions, the tests need to be in the same module as the code. Is there a way around this? (For now, I just put the code in the same file and depend on the test libs.)