内部可见到不为 MSTest 工作
本文关键字:MSTest 工作 内部 | 更新日期: 2023-09-27 18:34:18
我已经研究了谷歌和堆叠流量,并阅读了所有关于如何让InternalsVisibleTo工作的文章。
但它对我不起作用。
请不要对这个问题投反对票,因为我已尽力在论坛上查看和实施答案。
我的代码如下:
* 内部测试内部项目 *
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 方法。
谢谢
假设您刚刚将 EXACT 代码复制并粘贴到问题中,这是一个简单的错字。 我注意到测试程序集上的命名空间TestInteral
没有"N"。您的InternalsVisibleTo
声明具有最后一个"N":
[assembly: InternalsVisibleTo("TestInternal")]
可能就是这样。