Joh*_*uma 8 javascript integration-testing unit-testing node.js chai
我们可以考虑向端点发送一个单元或集成测试的请求吗?
import lib from 'testing-lib';
// ...
const { testClient, expect } = lib;
const response = testClient
.request(app)
.get('/test/endpoint/');
// ...
expect(response).fulfills.some.condition.ok
Run Code Online (Sandbox Code Playgroud)
我有一种感觉,这是一个集成测试,因为它将确定在发出请求和返回响应之间的每一部分都按预期工作。我需要知道我模糊的理解是否正确,或者我是否遗漏了一些细节。
我不会去。这是一个功能测试。
单元测试测试代码单元。由此得名。代码单元通常是某种函数、类或模块。
集成测试验证我们的代码单元是否按预期协同工作。但它仍然只是测试代码。
功能测试通过公开的接口测试处于部署状态的实际软件。
因此,在 Node 中,单元测试可能会单独测试您的一个 JavaScript 模块并模拟依赖项。集成测试将测试您的模块是否可以协同工作,并且只会模拟系统的极端边缘。功能测试将测试特定端点是否通过 HTTP 工作,并且不会模拟任何内容。
我要补充一点,我鼓励在编写测试时坚持 DRY 原则。如果你有一个单元测试来验证一个东西,你不需要在集成测试中验证它。只需验证这些单元是否按预期协同工作。功能测试也是如此。不要验证集成,单元协同工作。验证端点是否映射到预期行为。
是的,这更像是一个集成测试。
单元测试更像是功能业务逻辑测试。例如,在您的路由处理程序(控制器)收到请求并调用 Service 来处理逻辑后。该逻辑的测试是单元测试。
集成测试正在检查数据流是否正常工作。
| 归档时间: |
|
| 查看次数: |
3205 次 |
| 最近记录: |