如何用测试涵盖以下内容

本文关键字:何用 测试 | 更新日期: 2023-09-27 18:04:19

安装NCrunch后,我发现很多行没有被测试覆盖。例如下面的代码:

using System;
namespace Ei.Exceptions
{
  public class FactoryException: Exception
  {
    public object Factory { get; private set; }
    public FactoryException(string message) : base(message)
    {
    }
    public FactoryException(object factory, string message) : base(message) {
        this.Factory = factory;
    }
  }
}

我试着写一个测试,但它没有覆盖它:

[TestFixture]
class FactoryExceptionTest
{
    [Test]
    void FactoryException_Created_ReturnsInstance()
    {
        var exception = new FactoryException("Test");
        Assert.AreEqual(exception.Message, "Test");
        var exception2 = new FactoryException("Factory", "Test");
        Assert.AreEqual(exception.Message, "Test");
        Assert.AreEqual(exception.Factory, "Factory");
    }
}

有什么想法吗?

如何用测试涵盖以下内容

如果我没记错的话,c#中类的默认访问修饰符是internal。由于您没有为您的测试类指定public,我猜NCrunch不会从测试的程序集中看到它。