以下琐碎的TestFixture正在给出一个不确定的结果。为什么呢?
[TestFixture]
internal class SomeTest
{
[TestCase]
void myTest()
{
Assert.AreEqual(3,3);
}
}
答案 0 :(得分:6)
测试用例方法需要公开(显然):
internal class SomeTest
{
[TestCase]
public void myTest() //works now
{
Assert.AreEqual(3,3);
}
}
答案 1 :(得分:1)
是的,根据nUnit文档,测试方法必须公开。 nUnit如何找到你的测试。 ;)
http://www.nunit.org/index.php?p=test&r=2.2.1
The signature for a test method is defined as follows:
public void MethodName()
答案 2 :(得分:0)
就我而言,TestCaseSource的参数个数与测试方法中的参数不同。
[Test, TestCaseSource("DivideCases")]
public void DivideTest(int n, int d, int q)
{
Assert.AreEqual( q, n / d );
}
static object[] DivideCases =
{
new object[] { 12, 3 },
new object[] { 12, 2 },
new object[] { 12, 4 }
};
这里DivideCases中的每个对象数组都有两个项,应该是3,因为DivideTest方法有3个参数。