0

因此,我正在尝试深入研究单元测试,特别是针对 Web 服务(SOAP 版本),并且在获取传递引用的嵌套类 OtherClass.aNestedClass 的适当格式方面遇到了难以置信的困难。

正如您在下面看到的,OtherClass 和 aNestedClass 这两个类都是公共的。readDB 方法是单元测试的目标方法。但是,当我尝试声明 OtherClass 的实例时,我只获得了 OtherClass_Accessor 的选项,这使得 readDB 方法调用不太高兴(特别是我得到“最好的重载匹配...有一些无效的参数”错误) .

如何通过引用正确地将类作为参数传递给单元测试的访问器方法调用?

public class MyClass
{
    public void readDB(ref OtherClass.aNestedClass oa)
    {
        oa.A = "abc";
        oa.B = "def";
    }
}

public class OtherClass
{
    public class aNestedClass
    {
        public string A;
        public string B;
    }
}

我的示例尝试:

[TestMethod()]
[HostType("ASP.NET")]
[AspNetDevelopmentServerHost("D:\\MyProject", "/MyProject")]
[UrlToTest("http://localhost/MyProject/default.aspx")]
public void readDBTest()
{
    OtherClass_Accessor.aNestedClass oa = new OtherClass_Accessor.aNestedClass();

    readDB(ref oa);

    // assert statements...
}
4

1 回答 1

0

in 中的参数readDB()指定 a type,而不是参数变量。尝试这个:

public class MyClass
{
    public void readDB(ref OtherClass.aNestedClass myNestedClassInstance)
    {
        //do some DB reading, modify strings in class passed by ref.
    }
}
于 2013-06-19T04:12:21.107 回答