调试用多个[Row]属性编写的单元测试的好方法是什么?

时间:2008-12-10 21:35:02

标签: c# debugging tdd mbunit

当我在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);
    }
}

1 个答案:

答案 0 :(得分:2)

嗯......你在安装Gallio之前安装了TestDriven.Net吗?

如果没有,则不会安装TestDriven.Net的Gallio扩展。在这种情况下,TestDriven.Net可能会在“ad-hoc”模式下运行测试,并使用其参数的默认值。

应该很好地判断是否是这种情况。如果安装了TestDriven.Net的Gallio扩展,那么在测试执行期间,您将在输出窗口中看到“Gallio”横幅消息。如果没有,你可能会看到像“ad-hoc”这样的其他东西。

要解决此问题,请重新安装Gallio。或者,您可以使用Gallio安装程序的添加/删除功能部分,然后确保选择安装TestDriven.Net组件(在“Test Runners”下)。