首页 > 解决方案 > 找不到类型或命名空间名称“PrivateObject”

问题描述

我正在使用 Visual Studio 2017,并且试图在 C# 中创建私有方法的单元测试(代码如下):

[TestClass]
public class CalculatorTests
{
    [TestMethod]
    public void TestCalculator_Hello()
    {
        var calc = new Calculator(1);

        var privateObject = new PrivateObject(calc);

        string expected = "hello!";

        string result = privateObject.Invoke("HelloTest");
        Assert.AreEqual(expected, result);
    }


}

但是,我收到此错误消息:

错误 CS0246 找不到类型或命名空间名称“PrivateObject”

我查找了文章和教程,但我仍然不知道我做错了什么。

标签: c#unit-testing

解决方案


PrivateObject 和 PrivateType 不适用于面向 netcoreapp2.0 的项目。这里有一个 GitHub 问题: GitHub 问题 366

一种选择是从类继承,然后在继承的类中公开方法。


推荐阅读