在NUnit中,我可以执行以下操作,然后从TestContext中检索ID
[Test]
[Property("ID", "HelloWorld")]
[Category("ABC")]
// TestContext.CurrentContext.Test.Properties.Get("ID").ToString()
// --> HelloWorld
下面似乎不起作用(当您在TestContext中查找ID时,它返回null)
[Category("ABCD")]
[TestCase("AZ", 1),Property("ID","a")]
与
相同[Category("ABCD")]
[TestCase("AZ", 1)]
[Property("ID","a")]
这是否有可能,还是我太胖了,看不到正确的答案?
答案 0 :(得分:1)
有趣的问题。我做了一个测试项目,您说对了。没用 在NUnits GitHub上进行研究并发现了一个开放的bug,该bug大约存在三年:https://github.com/nunit/nunit/issues/1358
因此,当前的NUnit实现不允许成功地将Property属性应用于TestCase。
答案 1 :(得分:0)
似乎还有另一种说法。这是我以前从未见过的。我在这里https://github.com/nunit/docs/wiki/TestCaseData
找到了说明[Test
public class ObjectPattern
{
[TestCaseSource(typeof(ADataClass), "TestCases")]
public int DivideTest(int n, int d)
{
;
}
}
public class ADataClass
{
public static IEnumerable TestCases
{
get
{
yield return new TestCaseData(12, 3).setProperty("ID",4);
yield return new TestCaseData(12, 2).setProperty("ID",4);
}
}
}