我正在使用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
一种选择是从类继承,然后在继承的类中公开方法。