Open utterances-bot opened 2 years ago
你好,代码中 mockResolvedValue 赋值为 {user: {} }, 因此下面的 expect 总是能够通过,这样用例是可靠的吗?意义是什么?
+ jest.spyOn(userService, 'createUser').mockResolvedValue({ user: {} })
+
+ // When
+ const response = await appController.register(requestBody)
+
+ // Then
+ ...
+ expect(response).toHaveProperty('user', expect.any(Object))
我明白了,jest.spyon
用于监听对象方法的调用,expect(response)
是为了证明 controller 成功调用了 server 方法;至于具体返回的值是什么,属于 server 的领域,需要在 server 的单测中去检测。
我明白了,
jest.spyon
用于监听对象方法的调用,expect(response)
是为了证明 controller 成功调用了 server 方法;至于具体返回的值是什么,属于 server 的领域,需要在 server 的单测中去检测。
对的,单元测试只关注文件本身的逻辑。
严格来说,如果这个controller有对于service返回值的处理逻辑(比如重新封装了appController.register
的返回值),那么是需要测这部份的处理逻辑的。相应的,测试覆盖率中也会有体现
手把手带你实践 TDD Nestjs Realworld 项目 - 2. 数据库连接 | 木头的博客
上一个文章我们介绍了如何搭建一个开发环境和 Pipeline, 这篇文章开始我们将正式的用 TDD 的模式实现一个后端项目. 1. 安装依赖我们选用了 Postgres 作为我们的数据库, 操作数据库的 ORM 我们选用 TypeORM, 这是一个 TypeScript 友好的 ORM, 并且 nest 也提供了非常便利的集成方法. 1yarn add @nestjs/typeorm type
https://blog.mutoe.com/2020/TDD-nestjs-realworld-example-app-2/