测试覆盖在测试项目上工作,但在被测试的DLL上为零
本文关键字:测试 DLL 项目 工作 测试覆盖 | 更新日期: 2023-09-27 18:11:16
我已经构建了一个测试类,如下所示。
[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,两者在其他项目中都按预期工作。奇怪…
请检查相应的PDB文件是否已正确定位,并确保没有排除测试所针对的程序集的筛选器。