-1

我正在尝试为带有string[]as 参数的私有方法编写单元测试。调用私有方法适用于PrivateObject类,但是当我尝试使用string[].

测试返回

System.NullReferenceException:对象引用未设置为对象的实例

在调用。

这是包含我需要调用的方法的类:

public class Program{
    public Program(){}

    private void TestCommand(string[] command){}
}

我尝试了以下方法:

Program program = new Program();
PrivateObject privateObject = new PrivateObject(program);

object[] parameters = new object[1] {
    new string[2] {
       "add",
       "rando"
    }
};

/* doesn't work either
object[][] parameters = new object[1][];
parameters[0] = new string[2];

parameters[0][0] = "add";
parameters[0][1] = "rando";*/

privateObject.Invoke("TestCommand", parameters);
4

1 回答 1

0

事实证明,调用没有任何问题。相反,异常发生在从 TestCommand 中调用的方法中。未分配方法中使用的字段。这一点从 Visual Studio 中收到的错误消息中根本不清楚,它看起来好像异常出现在 Invoke 方法中。

于 2016-04-11T18:08:57.527 回答