单元测试 web api

帕里托什

我们目前有一个 Web API(.Net core 2.1),它注入了一个服务并调用它。服务基于接口,服务方法执行业务逻辑和 CRUD 工作。

我们正在使用实体框架与数据库对话,使用服务在其方法中使用的 UnitOfWork 模式。我们如何在不影响数据库的情况下测试这些调用?我看到了 Moq 框架,但我不确定它是如何避免 db 调用的?为了创建我的控制器,我需要传递我的服务,其构造函数采用工作单元,通过 .net 依赖注入完成。

我不确定如何模拟数据部分。Moq 会自动执行此操作,还是我需要设置假数据,然后 Moq 会将其用于我的 db 调用?例如,如果我想检查 GET 请求是否返回数据。或帖子返回 Ok。

拉法

如果您使用依赖注入,您将模拟您正在注入的对象,并在 Moq 的帮助下模拟它(我假设您正在注入实际连接到数据库的对象)。

基本上,你告诉 Moq 一个方法应该如何被调用(你设置它)以及它应该返回什么。然后,当您的业务逻辑尝试从这个模拟对象使用此方法时,实际上是您的模拟对象在应答调用而不是数据库。

这是关于如何使用Moq 的一个很好的快速示例

但同样,我假设您正在注入实际进行调用的对象。我认为您注入的所有对象都需要模拟,因为您正在测试接收注入的对象而不是注入的对象......

为了让 Moq 真正有用,请确保所有外部依赖项都有自己的类并且您正在注入它,以便让您的代码易于测试。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Web API全局设置代码,也用于单元测试

来自分类Dev

删除Web API中的项目单元测试

来自分类Dev

单元测试Web Api 2模拟用户

来自分类Dev

Web API单元测试的模拟请求对象

来自分类Dev

使用xUnit Web API单元测试Get()方法

来自分类Dev

Web API控制器单元测试

来自分类Dev

Web API的单元测试,获取相同的ID

来自分类Dev

api的单元测试

来自分类Dev

在Visual Studio 2013中使用HttpClient进行单元测试/集成测试Web API

来自分类Dev

在Visual Studio 2013中使用HttpClient进行单元测试/集成测试Web API

来自分类Dev

Rest API 的单元测试

来自分类Dev

返回IHttpActionResult时,如何对Web API操作方法进行单元测试?

来自分类Dev

在VS 2013中使用HttpClient代理类对Web API进行单元测试

来自分类Dev

ASP.NET Web API路由单元测试-未检测到控制器动作

来自分类Dev

如何对带有令牌的帖子(web-api)调用进行单元测试?

来自分类Dev

没有任何注入依赖性的Web API方法的单元测试

来自分类Dev

无法在C#WEB API REST服务单元测试中模拟Owin上下文

来自分类Dev

C#Web API中的最小起订量单元测试

来自分类Dev

如何在Web API中对冲突响应的错误消息进行单元测试

来自分类Dev

如何使用XUnit对Web API控制器进行单元测试

来自分类Dev

单元测试.NET Core 3 Web API控制器

来自分类Dev

在单元测试.NET Core Web API中检查ModelState内容

来自分类Dev

数据库功能Mock在C#Web API单元测试中不起作用

来自分类Dev

没有任何注入依赖性的Web API方法的单元测试

来自分类Dev

Web Worker的单元测试代码

来自分类Dev

在常规MVC控制器(而非Web API控制器)中使用身份的单元测试方法

来自分类Dev

带有路由数据的单元测试不适用于ASP.NET MVC 5 Web API

来自分类Dev

单元测试Web Api Controller伪造的ApiController。带有自定义标识的用户不起作用

来自分类Dev

单元测试-控制器未从ASP.NET Core Web API项目中的模拟IConfiguration中获取值

Related 相关文章

  1. 1

    Web API全局设置代码,也用于单元测试

  2. 2

    删除Web API中的项目单元测试

  3. 3

    单元测试Web Api 2模拟用户

  4. 4

    Web API单元测试的模拟请求对象

  5. 5

    使用xUnit Web API单元测试Get()方法

  6. 6

    Web API控制器单元测试

  7. 7

    Web API的单元测试,获取相同的ID

  8. 8

    api的单元测试

  9. 9

    在Visual Studio 2013中使用HttpClient进行单元测试/集成测试Web API

  10. 10

    在Visual Studio 2013中使用HttpClient进行单元测试/集成测试Web API

  11. 11

    Rest API 的单元测试

  12. 12

    返回IHttpActionResult时,如何对Web API操作方法进行单元测试?

  13. 13

    在VS 2013中使用HttpClient代理类对Web API进行单元测试

  14. 14

    ASP.NET Web API路由单元测试-未检测到控制器动作

  15. 15

    如何对带有令牌的帖子(web-api)调用进行单元测试?

  16. 16

    没有任何注入依赖性的Web API方法的单元测试

  17. 17

    无法在C#WEB API REST服务单元测试中模拟Owin上下文

  18. 18

    C#Web API中的最小起订量单元测试

  19. 19

    如何在Web API中对冲突响应的错误消息进行单元测试

  20. 20

    如何使用XUnit对Web API控制器进行单元测试

  21. 21

    单元测试.NET Core 3 Web API控制器

  22. 22

    在单元测试.NET Core Web API中检查ModelState内容

  23. 23

    数据库功能Mock在C#Web API单元测试中不起作用

  24. 24

    没有任何注入依赖性的Web API方法的单元测试

  25. 25

    Web Worker的单元测试代码

  26. 26

    在常规MVC控制器(而非Web API控制器)中使用身份的单元测试方法

  27. 27

    带有路由数据的单元测试不适用于ASP.NET MVC 5 Web API

  28. 28

    单元测试Web Api Controller伪造的ApiController。带有自定义标识的用户不起作用

  29. 29

    单元测试-控制器未从ASP.NET Core Web API项目中的模拟IConfiguration中获取值

热门标签

归档