5

我查看了googlestack 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方法。

谢谢

4

1 回答 1

11

假设您刚刚将您的 EXACT 代码复制并粘贴到问题中,这是一个简单的错字。我注意到您在测试程序集中的命名空间TestInteral没有“N”。你的InternalsVisibleTo声明有最后一个'N':

[assembly: InternalsVisibleTo("TestInternal")]

大概就是这样。

于 2012-05-14T18:27:28.323 回答