我调查了google和 stack over flow并阅读有关如何让 InternalsVisibleTo 工作的所有帖子。
但它对我不起作用。
请不要对这个问题投反对票,因为我已尽力在论坛上查看和实现答案..
我的代码如下:
* 内部 TestInternal 项目 *
namespace TestInteral
{
[TestClass]
public class MyProviderTest
{
[TestMethod]
public void TestBar()
{
bool retval = false;
retval = new MyProviderClass().Bar();
Assert.AreEqual(true,retval);
}
}
}
* 内部提供商项目 *
[assembly: InternalsVisibleTo("TestInternal")]
namespace Provider
{
public class MyProviderClass
{
internal bool Bar()
{
return true;
}
private void UseBar()
{
bool retval = Bar();
}
}
}
我在测试类中遇到以下错误。
错误 1“Provider.MyProviderClass”不包含“Bar”的定义,并且找不到接受“Provider.MyProviderClass”类型的第一个参数的扩展方法“Bar”(您是否缺少 using 指令还是汇编引用?)
请告诉我如何正确使用 InternalsVisibleTo,以便我可以正确测试 MyProviderClass 中的 Internal 方法。
谢谢
最佳答案
假设您刚刚将您的确切代码复制并粘贴到问题中,这是一个简单的错字。我注意到测试程序集上的命名空间是 TestInteral
,没有“N”。并且您的 InternalsVisibleTo
声明具有最后一个“N”:
[assembly: InternalsVisibleTo("TestInternal")]
大概就这些了。</p>
关于c# - InternalsVisibleTo 不适用于 MSTest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10588592/