小编moc*_*cco的帖子

模拟控制器返回 NULL

我正在使用 xUnit,当我调用控制器的方法时,我得到null. 当我调试时,它不会执行RemovePrimeNumbers方法而是返回null

发生这种情况有什么原因吗?

测试方法

public void ControllerTest()
{
    PrimeNumberViewModel returnObject = new PrimeNumberViewModel();
    returnObject.Result = new PrimeNumberModel();

    Mock<IPrimeNumberOperations> _mockService = new Mock<IPrimeNumberOperations>();
    var _controller = new PrimeNumberOperationsController(_mockService.Object) ;

    _mockService.Setup(x => x.RemovePrimeNumbers("Test123")).Returns(returnObject);

    var result = _controller.RemovePrimeNumbers("HAHAHA 2");

    Assert.Equal("HAHAHA 2", result);   
}
Run Code Online (Sandbox Code Playgroud)

控制器

[HttpGet()]
public string RemovePrimeNumbers(string plainText)
{
    PrimeNumberViewModel result = _primeNumberService.RemovePrimeNumbers(plainText);
    return result.Result.removedPrimeNumbersText; // *result* is getting NULL 
}
Run Code Online (Sandbox Code Playgroud)

c# unit-testing moq asp.net-core-webapi

1
推荐指数
1
解决办法
129
查看次数

标签 统计

asp.net-core-webapi ×1

c# ×1

moq ×1

unit-testing ×1