[Haskell-beginners] Where do you put your tests?
Magnus Therning
magnus at therning.org
Sat Jul 21 20:04:35 CEST 2012
On Sat, Jul 21, 2012 at 7:50 PM, Michael Orlitzky <michael at orlitzky.com> wrote:
> 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.)
A common issue. I, and some others I've seen, have a FooInternal
module exporting *everything* for the tests, and a Foo module
exporting only the public API.
/M
--
Magnus Therning OpenPGP: 0xAB4DFBA4
email: magnus at therning.org jabber: magnus at therning.org
twitter: magthe http://therning.org/magnus
More information about the Beginners
mailing list