动态测试用例

Ant*_*pod 4 nunit automated-tests testcase

我们正在使用NUnit来运行我们的集成测试.其中一个测试应始终相同,但采用不同的输入参数.不幸的是,我们不能使用[TestCase]属性,因为我们的测试用例存储在外部存储中.我们有动态测试用例,我们的QA工程师可以添加,删除或禁用(不删除).QA人员无法将[TestCase]属性添加到我们的C#代码中.他们所能做的就是将它们添加到存储中.

我的目标是将存储中的测试用例读入内存,使用所有已启用的测试用例运行测试,报告测试用例是否失败.我不能使用"foreach"语句,因为如果测试用例#1失败,那么其余的测试用例将根本不运行.我们已经有了生成NUnit报告的构建服务器(CruiseControl.net),因此我想继续使用NUnit.

你能指出一种如何实现我的目标的方法吗?谢谢.

Jon*_*eet 6

您可以使用[TestCaseSource("PropertyName")\]它指定从中加载数据的属性(或方法等).

例如,我在Noda Time中有一个使用所有BCL时区的测试用例 - 当然可能随时间而变化(Mono上有所不同),而我根本没有改变代码.

只需让你的财产/成员将测试数据加载到一个集合中,你就会离开.

(我碰巧总是使用属性,但听起来它应该可以正常使用方法.)