2013-04-06 23 views
2

我有一个简单的MSpec测试,我在Because语句中将空值传递给方法参数(类型为string)。然后我检查It声明中是否有异常。可以多个因为语句在MSpec中共享相同的断言?

Because _of =() => _exception = Catch.Exception(() => foo(null)); 
It should_throw_an_exception =() =>_exception.ShouldBeOfType<Exception>(); 

我需要另一个测试时,该参数是一个空字符串,并断言应保持不变。我可以写另一个测试,复制代码。

或者,有没有更好的方法可以在MSpec中进行这种测试?

回答

3

对于像这样的事情,我宁愿使用NUnit的TestCaseAttribute使输入参数的所有组合都针对相同的代码进行验证。 MSpec不是这里工作的最佳工具,因为它不支持上面提到的测试生成器。行为可能会有所帮助,有点只会去除它的重复。恕我直言,混合测试框架就像你发布的东西没有错。

相关问题