我需要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
参数CheckWarehouseAvailability
并将其作为参数传递给PrivateObject.Invoke()
:
var order = new Order();
var retVal = privBase.Invoke("CheckWarehouseAvailability", order);
// ... Assert
另外,我不确定您在这里断言的是什么:
Assert.AreEqual(true, retVal);
...因为CheckWarehouseAvailability
它的返回类型设置为void
,而不是bool
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句