LJM*_*LJM 4 c# mbunit unit-testing gallio data-driven-tests
我试过谷歌搜索但没有找到任何东西.基本上,我想按照我定义的顺序运行每一行.例如,如果我有这个:
[Row("a")]
[Row("b")]
[Row("c")]
[Test]
public void Test(string s)...
Run Code Online (Sandbox Code Playgroud)
我想确保在测试B之前执行测试A,并且在测试C之前执行测试B.
如C#语言规范(第375页)中所述:
指定属性的顺序(...)并不重要.例如,属性规范[A] [B],[B] [A],[A,B]和[B,A]是等价的.
因此,您永远不能依赖于定义属性的顺序.幸运的是,Gallio/MbUnit为其大多数属性提供了一个方便的可选参数,克服了该语言的限制.您需要使用可选参数Order.
[Row("a", Order = 1)]
[Row("b", Order = 2)]
[Row("c", Order = 3)]
[Test]
public void Test(string s)
{
}
Run Code Online (Sandbox Code Playgroud)
请注意,它也Order适用于其他属性.特别是它可用于[Test]指定测试必须在夹具中运行的顺序.
否则,为了绑定单个测试参数,如示例所示,您可能会发现更容易使用[Column]而不是[Row]; 并通过仅将1个属性替换为1来消除任何属性排序约束:
[Test]
[Column("a", "b", "c")]
public void Test(string s)
{
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1508 次 |
| 最近记录: |