在WEB API控制器上使用nunit和moq创建测试用例

时间:2015-05-29 14:55:25

标签: nunit moq asp.net-web-api

我正在尝试使用现有Web API项目中的控制器上的nunit创建单元测试用例。 我使用Moq作为模拟框架。在这里我想模拟存储库以返回一些预期的 结果。我不确定在设置存储库模型和验证结果时我能做些什么。 如果我正在做的话,有人可以建议吗?我刚拿了一个随机控制器来解决这个问题。 对于某些示例网址的任何建议或指导将不胜感激。

g++

1 个答案:

答案 0 :(得分:0)

在您的任何特定测试中使用以下设置:

mockAuthRepository
  .Setup(m => m.RegisterUser(It.IsAny<UserModel>))
  .Returns(new List<UserModel> {
    new UserModel { // specific properties },
    new UserModel { // specific properties },
    new UserModel { // specific properties }
  }.AsQueryable());

然后只为选定的用户做出断言。

例如,您可以通过在mockAuthRepository中放置控制器输入中的同一用户并断言生成特定错误代码来测试Register方法以防止注册现有用户。

您也可以使用模拟Times.Once,Times.Never等使用验证方法来检查是否调用了某些代码。

祝你好运!