如何对私有方法进行存根

时间:2019-06-14 09:40:29

标签: unit-testing testing nunit xunit stubbing

我有WebAPI控制器Method(HTTPPost),它进一步调用了一个私有方法,该方法用于从WCF服务获取一些数据。

在为HTTPPost方法编写单元测试时,私有方法由于服务而崩溃。它们是任何方式,因此我可以为测试用例为private方法定义新定义。

我曾想过重新定义私有方法,问题是我不能更改代码中除单元测试项目以外的任何内容。

public class SController : ControllerBase
{    
    [HttpPost()]

    public IActionResult X()
    {
         Y();
    }

    private bool Y()
    {
         Z z = new Z();  // WCF Partial class object 
         bool b = z.GetInfoAsync(a,b,c) ; // WCF method calling
    }
}

有什么方法可以使用控制器的X方法,但是当X尝试调用Y时,它应该在测试用例中返回定义值,而不是服务调用。

0 个答案:

没有答案