unit test strategy

Dwight Hutto dwightdhutto at gmail.com
Fri Sep 14 23:32:44 EDT 2012


On Fri, Sep 14, 2012 at 11:26 PM, Dwight Hutto <dwightdhutto at gmail.com> wrote:
> On Fri, Sep 14, 2012 at 10:59 PM, Aaron Brady <castironpi at gmail.com> wrote:
>> Hello,
>>
>> I've developing a test script.  There's a lot of repetition.  I want to introduce a strategy for approaching it, but I don't want the program to be discredited because of the test script.  Therefore, I'd like to know what people's reactions to and thoughts about it are.
>>
>> The first strategy I used created an iterator and advanced it between each step:
>
> That isn't a refined iterator below:
What I mean is look at the similarities, and the differences, then
replace the differences with interpolation, in eval even.


>
>>         self.op_chain(range(5), ('add', 5))
>>         self.op_chain(range(5), ('add', -2), ('add', -1))
>>         self.op_chain(range(5), ('discard', -1), ('add', 5))
>>         self.op_chain_ok(range(5), ('update', [0, 1]))
>> Etc.
>>
>> I'm considering something more complicated.  'iN' creates iterator N, 'nN' advances iterator N, an exception calls 'assertRaises', and the rest are function calls.

iN = [N for N in range(0,5)]


>>         dsi= dict.__setitem__
>>         ddi= dict.__delitem__
>>         dsd= dict.setdefault
>>         KE= KeyError
>>         IE= IterationError
>>         self.chain(range(10), 'i0', (dsi, 0, 1), 'n0', (dsi, 10, 1), (IE, 'n0'))
>>         self.chain(range(10), 'i0', 'n0', (dsd, 0, 0), 'n0', (dsd, 10, 1), (IE, 'n0'))
>>         self.chain(range(10), 'i0', (KE, ddi, 10), 'n0', (ddi, 9), (IE, 'n0'))
>>
>> Do you think the 2nd version is legible?  Could it interfere with the accuracy of the test?

Define the 2nd version


>
> Show the test, which should show instances of what you want called.
>
> I could rewrite the above, but it seems you're more in need of refining
> your iterations, and the values given within them.
>

-- 
Best Regards,
David Hutto
CEO: http://www.hitwebdevelopment.com



More information about the Python-list mailing list