Ger*_*ton 23 tdd nunit unit-testing
假设我想编写一个用正则表达式验证电子邮件地址的函数.我写了一个小测试来检查我的功能并编写实际的功能.让它通过.
但是,我可以提出一些不同的方法来测试相同的功能(test@test.com; test234@test.com; test.test.com等).
我是否将所需的所有咒语都用几个ASSERTS进行相同的单一测试,或者为我能想到的每一件事写一个新的测试?
谢谢!
Pau*_*der 10
大多数测试框架现在支持某种基于数据的测试,以便您在多个数据集上运行相同的测试.
请参阅NUnit中的ValuesAttribute.
xUnit.net,MBUnit和其他人有类似的方法.
小智 8
通常我会创建许多不同的测试,并给每个测试自己的名称.例如,假设有3个不同的正则表达式{A,B和C}用于匹配电子邮件地址.该函数检查传入的电子邮件是否匹配,并接受找到的第一个匹配项.
我会进行以下测试.
通常我会在每个测试中放置一个断言.
但是,有时候,如果断言都检查同一个东西的不同部分,我会在测试中放置多个断言.例如,假设我有一个函数可以找到与模式A匹配的所有电子邮件.我的测试在电子邮件列表中提供,但只有一个匹配模式A.该函数返回一个列表,我希望该列表只有一个元素它.所以我会断言两件事: