是否可以使用MSpec创建数据驱动的测试?

时间:2011-05-25 08:11:20

标签: tdd mspec

使用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);
  }
}

1 个答案:

答案 0 :(得分:4)

那是不可能的。我建议不要使用数据驱动MSpec,如果需要行测试或组合测试(以及描述行为时的MSpec),请使用NUnit或MbUnit。

跟进:使用MSpec不可能使用Aeden,TestCases / RowTests,可能永远不会。请在这种情况下使用NUnit,因为它是 作业的最佳工具。当您想要指定系统行为时,MSpec表现优异(当提交订单时=>应该通知履行服务)。对于具有MSpec的TestCases,您需要为每个输入组合创建一个可能导致类爆炸的上下文。

当你想要一个易于学习的理智的测试结构时,MSpec也很棒。而不是从一张白纸开始(想想NUnit的[测试]方法)MSpec为您提供了一个模板(建立,因为,它),您可以建立您的规范。将此与您给出的示例进行对比,将Arrange,Act和Assert组合成一行代码。

相关问题