0

我正在使用 Gallio 将 mbunit 的测试运行器与 Visual Studio 中的 mstest 测试运行器集成。它工作得很好——除非我用多个断言语句运行测试。测试将根据 FIRST 断言语句通过或失败。我知道很多人反对多个断言,但在诸如接收多行输入的行测试和组合测试之类的情况下,它们是不可避免的。如果从 Gallio 的 icarus gui 执行,所有测试都将成功运行。有没有其他人遇到/解决过这个问题?

编辑:这是一个代码示例

(我显然在 c# 中得到了相同的结果)

<Test()> _
<MultipleAsserts()> _
<Row(3, 3)> _
<Row(3, 17)> _
<Row(1, 2)> _
Public Sub MyRowTest(ByVal val1 As Int32, ByVal val2 As Int32)

    Assert.AreEqual(Of Int32)(val1, val2)

End Sub

通过 Visual Studio 运行时,测试通过,我得到:

MyRowTest(3,3) 持续时间:0.016 秒,

断言:2

4

1 回答 1

1

啊,我明白了。您的意思是 Visual Studio 的测试视图仅根据行测试的一行来考虑测试通过或失败。我认为这与多个断言无关。

这里的问题是 Visual Studio 的测试模型非常有限,并且不适合某些 MbUnit 功能。即便如此,Gallio 可以做更多工作来提高 Visual Studio 中数据驱动测试的可用性。

我在这里打开了一个问题: http ://code.google.com/p/mb-unit/issues/detail?id=509

于 2009-08-20T05:36:16.683 回答