0

我已经建立了一个测试类,如下所示。

[TestFixture]
public class UnitTests
{
  [TestCase(3, 5, 8)]
  [TestCase(3, null, 3)]
  public void UnitTestMethod1(int? a, int? b, int expected)
  {
    int actual = Utilities.SomeSum(a, b);
    Assert.AreEqual(expected, actual);
  }

当我运行测试时,我在测试程序集上得到的值高于零,但在测试目标的程序集上恰好为零。我到底做了什么傻事?!我还应该提供哪些信息?

测试的类是超级基础的,如下所示。

使用系统;

public class Utilities
{
  public static int SomeSum(int? a, int? b)
  {
    int? output;
    if (a == null && b == null)
      throw new Exception("Nulls!");

    a = a ?? 0;
    b = b ?? 0;
    output = a + b;
    return (int)output;
  }
}

当我在构建服务器上运行这些东西时,我都得到了很好的结果,但在 VS13 本地 - 奇怪的事情发生了。我得到了最新的 nUnit/dotCover 并且在其他项目中都按预期工作。诡异的...

4

1 回答 1

0

请检查相应的 PDB 文件是否正确定位,并确保没有过滤器排除测试所针对的程序集。

于 2014-10-15T17:45:22.880 回答