对于内部方法,测试用例方法无法访问

时间:2013-02-27 08:14:53

标签: unit-testing c#-4.0

我正在为我的内部方法编写单元测试用例。我已经在我的邮件类项目的AssemblyInfo.cs中进行了必要的更改 [assembly:InternalsVisibleTo(“myunitest_assemblyname”)]

现在我可以在单元测试用例方法中访问我的内部方法。 但是当我编译代码时,它会给出一个错误,如下所示

错误1'主类项目名'不包含'Process'的定义,并且没有扩展方法'Process'可以找到接受类型'main class project name'的第一个参数(你是否缺少using指令或汇编参考?)

我的主要课程名称很强。

如果我错过了一点,那就太好了。

主类结构

namespace Renewals
{
    public class StateProcessor
    {
        internal virtual void PutEmailInQueue(DataTable dataTable)
        {    
        }
    }
}

//测试类结构

namespace Renewals.Tests.Unit
{
    [TestClass]
    public class StateProcessorTest
    {

        [TestMethod]
        public void PutEmailInQueueTest()
        {
            DateTime processingDate = Convert.ToDateTime("27-feb-2013"); ;

            StateProcessor stateProcess = new StateProcessor(processingDate);
            stateProcess.PutEmailInQueue(new DataTable());
        }
    }
}

PutEmailInQueue - 这个方法给我带来了问题。

1 个答案:

答案 0 :(得分:2)

你写道,你的班级使用强名称。

我认为您必须使用公钥修改InternalsVisibleTo()语句。

例如为:[组件:InternalsVisibleTo( “friend_signed_B,公钥= 0024000004800000940000000602000000240000525341310004000001000100e3aedce99b7e10823920206f8e46cd5558b4ec7345bd1a5b201ffe71660625dcb8f9a08687d881c8f65a0dcf042f81475d2e88f3e3e273c8311ee40f952db306c02fbfc5d8bc6ee1e924e6ec8fe8c01932e0648a0d3e5695134af3bb7fab370d3012d083fa6b83179dd3d031053f72fc1f7da8459140b0af5afc4d2804deccb6”)]

有关更多信息,请参阅:http://msdn.microsoft.com/en-us/library/bb385180.aspx