couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Robert Dionne <dio...@dionne-associates.com>
Subject Re: [PATCH] Eunit Tests
Date Mon, 16 Feb 2009 14:36:40 GMT



On Feb 16, 2009, at 8:03 AM, Jan Lehnardt wrote:

>
> On 16 Feb 2009, at 13:37, Robert Dionne wrote:
>
>>> Pure unit-test logic would suggest creating a couch_btree_chunker
>>> module. Like how I did with couch_config and couch_config_writer.
>>> But then, pragmatism will call heresy and I'd probably agree.
>>
>> For sure, "In theory there's no difference between theory and  
>> practice, but in practice there is"  :)
>
> The question is if we want to "do it right" now or KISS our way out  
> of this?
>
>
>>> The only problem I see here is that tests belonging to a single  
>>> module
>>> are run in different places and you'd have to track down where  
>>> the test
>>
>>  hmm... actually according to the docs if you run eunit:test 
>> ([couch_btree])  it does both (I haven't tested this yet). In  
>> other words it ensures couch_btree:test() is run and also finds  
>> and runs tests in couch_btree_tests. So if I read this correctly  
>> it solve this issue, non?
>
> You're right, I just tested this, nice.
>
>
>> Oh I see, it wouldn't tell you which ones failed?
>
> No no, it does. All is well :)
>
>
> I'd suggest we establish this guidelines for writing tests:
>
>  - A module's public API should be tested in a separate module as  
> it helps
>    refining the public API, keeps files at a manageable size and  
> changes
>    to either tests or the module don't interfere with each other  
> (plus all the
>    good thing Michael McDaniel pointed out earlier).
>
>  - A module's private API is tested using inline-tests.
>
>  - Large* modules should be considered for split-ups keep things more
>    manageable.
>
> *Large is defined pragmatically on a case-by-case basis.
>
>
> What do you think?

+1 (if I get a vote :)

I agree completely. As I count the files in src/couchdb (32 and  
growing) I think it's a good time to start this, even if new tests  
are only added opportunistically as bugs are fixed, etc... When 1.0  
comes along and larger new features added these will serve us well.  
Danke vielmals!


>
> Cheers
> Jan
> --
>


Mime
View raw message