rbo*_*man 2 c# nunit unit-testing visual-studio-2010
如何为私有函数的out参数创建单元测试?
我的服务层:
private int LoadProduct(string productId, out IProduct product)
{
product = this.Load(productId);
return ErrorCodes.Success;
}
Run Code Online (Sandbox Code Playgroud)
测试用例:
[Test]
public void LoadProductTest()
{
var offerService = new OfferProcessor();
var privateOfferService = new PrivateObject(offerService);
IProduct myProduct = null;
var result = (int)privateOfferService.Invoke("LoadProduct",
new object[] {"AnId", myProduct });
Assert.That(result, Is.EqualTo(ErrorCodes.Success));
Assert.That(myProduct, Is.NotNull());
}
Run Code Online (Sandbox Code Playgroud)
上面的测试用例没有编译.如何通过调用out参数然后在调用后访问它?
尝试保存通过调用调用的对象数组.
object[] args = new object[] { "AnId", myProduct };
var result = (int)privateOfferService.Invoke("LoadProduct", args);
Assert.That(args[1], Is.NotNull());
Run Code Online (Sandbox Code Playgroud)