我已经建立了一个测试类,如下所示。
[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 并且在其他项目中都按预期工作。诡异的...