【发布时间】:2018-11-15 21:06:32
【问题描述】:
我在控制器中有一个将数据插入本地数据库的 void 方法。我如何对该方法进行集成测试。
到目前为止我已经尝试过了,不知道在断言中添加什么。
[TestMethod]
public void ProcessTransactions()
{
// Arrange
_transactionController = new TransactionController(_transactionService, _mService);
// Act
_transactionController.ProcessTransactions;
// Assert
}
【问题讨论】:
-
您需要检查 Act 是否按预期完成。您问人们如何访问内部状态进行检查?如果这是您的问题,答案是 - 控制反转和服务位置。
-
我可以在不更新控制器方法的情况下检查 post 方法是否返回任何错误吗?
-
当然,如果发生这种情况,您的方法应该抛出异常。然后测试会自动失败,你不需要断言任何东西。
-
我很好奇为什么 web api 控制器操作是无效的,并且不像您之前的一些示例那样返回
IHttpActionResult或HttpResponseMessage
标签: c# unit-testing asp.net-web-api controller integration-testing