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

[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);
    }


}

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



我一直在寻找文章和教程,但我仍然不知道自己在做什么错。

最佳答案

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

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

10-08 19:59