使用MSpec可以创建数据驱动的测试吗?
例如,NUnit具有允许多个数据驱动情况的TestCase属性。
[TestFixture]
public class ExampleOfTestCases
{
[TestCase(1,2,3)]
[TestCase(3,3,6)]
[TestCase(2,2,4)]
public void when_adding_two_numbers(int number1, int number2, int expected)
{
Assert.That(number1 + number2, Is.EqualTo(expected);
}
}发布于 2011-05-25 22:03:25
这不可能。我建议不要使用数据驱动MSpec,如果需要行测试或组合测试(以及描述行为时使用MSpec ),请使用NUnit或MbUnit。
跟进:艾登,TestCases/RowTest在MSpec中是不可能的,而且很可能永远不会。对于这种情况,请使用NUnit,因为它是该工作的最佳工具。MSpec擅长于指定系统行为(当订单提交时,=>应该通知履行服务)。对于TestCases和MSpec,您需要为可能导致类爆炸的每一个输入组合创建一个上下文。
当您想拥有一个易于学习的、正常的测试结构时,MSpec也是很棒的。MSpec提供了一个模板(建立,因为,因为它),您可以围绕这个模板构建您的规范,而不是从一张白纸(想想NUnit的测试方法)开始。与您给出的示例进行对比,将排列、动作和断言组合成一行代码。
https://stackoverflow.com/questions/6121421
复制相似问题