当我在Gallio的Icarus中运行以下测试时,它会通过,但是当我使用TestDriven.NET(Test With-> Debugger)进入它时,它会失败,因为参数不是根据Row属性设置的。
我希望每个应用的Row属性都会调用一次该方法。
我做错了什么?如果没有,那么当它们破坏时我需要做些什么来调试这些测试呢?如果它们不可调试,我应该避免参数化测试吗?
[TestFixture]
public class TestDrivenIgnoresMbUnitAttributesWhenDebugging
{
[Test]
[Row(1)]
[Row(2)]
public void SomeFunc(int x)
{
Assert.AreNotEqual(default(int), x);
}
}
答案 0 :(得分:2)
嗯......你在安装Gallio之前安装了TestDriven.Net吗?
如果没有,则不会安装TestDriven.Net的Gallio扩展。在这种情况下,TestDriven.Net可能会在“ad-hoc”模式下运行测试,并使用其参数的默认值。
应该很好地判断是否是这种情况。如果安装了TestDriven.Net的Gallio扩展,那么在测试执行期间,您将在输出窗口中看到“Gallio”横幅消息。如果没有,你可能会看到像“ad-hoc”这样的其他东西。
要解决此问题,请重新安装Gallio。或者,您可以使用Gallio安装程序的添加/删除功能部分,然后确保选择安装TestDriven.Net组件(在“Test Runners”下)。