c# - 找不到类型或命名空间名称“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”
我查找了文章和教程,但我仍然不知道我做错了什么。
解决方案
PrivateObject 和 PrivateType 不适用于面向 netcoreapp2.0 的项目。这里有一个 GitHub 问题: GitHub 问题 366
一种选择是从类继承,然后在继承的类中公开方法。
推荐阅读
- asp.net-core - AddInMemoryClients 导致未知客户端或未启用
- r - 使用带有 ggplot2 的 read.shp 绘制形状文件
- logstash - Logstash mutate gsub 在“if”语句中不起作用
- scala - 如何从列名集合创建列表达式?
- sql - 无法将列“some_field”更改为十进制数据类型
- python - 从csv创建熊猫数据框后,过滤结果返回空数据框
- python - 如何将项目列表发送到硒表单并为该列表中的每个项目按回车键?
- amazon-web-services - 必须删除环境变量才能使 aws cli 在没有 --profile 标志的情况下工作
- quill - 如何强制粘贴格式?
- c++ - 使用动态分配列表时,我的程序从 while 循环停止工作