使用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);
}
}
答案 0 :(得分:4)
那是不可能的。我建议不要使用数据驱动MSpec,如果需要行测试或组合测试(以及描述行为时的MSpec),请使用NUnit或MbUnit。
跟进:使用MSpec不可能使用Aeden,TestCases / RowTests,可能永远不会。请在这种情况下使用NUnit,因为它是 作业的最佳工具。当您想要指定系统行为时,MSpec表现优异(当提交订单时=>应该通知履行服务)。对于具有MSpec的TestCases,您需要为每个输入组合创建一个可能导致类爆炸的上下文。
当你想要一个易于学习的理智的测试结构时,MSpec也很棒。而不是从一张白纸开始(想想NUnit的[测试]方法)MSpec为您提供了一个模板(建立,因为,它),您可以建立您的规范。将此与您给出的示例进行对比,将Arrange,Act和Assert组合成一行代码。