【发布时间】:2018-01-15 16:49:23
【问题描述】:
我需要在一个抽象类中测试CheckWarehouseAvailability 私有方法。
public abstract class BaseAPI
{
private void CheckWarehouseAvailability(Order order)
{
//codes here
}
}
public class Processor : BaseAPI
{
}
这是我的测试方法
Processor pro = new Processor();
PrivateObject privBase = new PrivateObject(pro, new PrivateType(typeof(BaseAPI)));
var retVal = privBase.Invoke("CheckWarehouseAvailability(order)");
Assert.AreEqual(true, retVal);
当我运行测试方法时,我得到了这个错误:An exception of type 'System.MissingMethodException' occured in mscorlib.dll but was not handled in user code
【问题讨论】:
-
参数 (
order) 需要在调用之前构造并作为附加参数传递给Invoke。就像当前编写的一样,您尝试调用一个名称中包含字符串“(order)”的方法。
标签: c# unit-testing