NUnit Inconclusive

时间:2014-01-20 18:52:23

标签: c# unit-testing nunit

以下琐碎的TestFixture正在给出一个不确定的结果。为什么呢?

[TestFixture]
internal class SomeTest
{
   [TestCase]
   void myTest()
   {
      Assert.AreEqual(3,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个参数。