unit-testing - 测试后端 api 端点是否被视为单元测试?

标签 unit-testing express testing tdd bdd

例如,如果您有一个使用 Express 的 Node 服务器,并且您编写了一个 Jasmine 测试来确保 POST/someroute 为您提供您期望的 JSON,那么这仍然被视为单元测试吗?我知道它似乎不符合应用程序的最小可测试部分的严格定义。那么如果没有,这种类型的路由测试是否有特定的术语?

最佳答案

根据wikipedia ?当然:

In computer programming, unit testing is a software testing method by which individual units of source code, sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures, are tested to determine whether they are fit for use.

换句话说:您以某种方式测试程序所做的任何事情都可以被视为单元测试。

但是,当然,您可能会问更狭义的单元测试,如 art-of-unit-testing 所定义。例如。一方面:

Runs in memory (no DB or File access, for example)

或者换句话说:真正的单元测试在隔离中测试单个单元。

来自那里:我不会将所描述的方法视为单元测试:

  • 您不是测试单个单元,而是测试整个 API 端点 - 您使用 API 端点,并且您希望您的实现返回一个值,该值可能是许多内部步骤的结果
  • 因为您没有描述任何方法 - 看来您的单元也没有与文件系统/数据库/...隔离

从这个意义上说:我认为您所说的更多的是功能/集成测试,而不是真正的单元测试。

关于unit-testing - 测试后端 api 端点是否被视为单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45533178/

相关文章:

unit-testing - 如何从 Dart (Dartz) 中的任一种类型中轻松提取左或右

node.js - Node cors捕获中间件回调错误

javascript - Forever.js 不会重启我的 Node.js/Express 应用程序

android - Espresso 测试需要哪些 JAR?

c# - TDD/注入(inject)和信息隐藏之间的斗争 - 可能的妥协?

unit-testing - 通过 HeadlessApplication 调用 ShaderProgram(例如 Stage)的单元测试 Libgdx 类

java - Mockito when().thenReturn() 抛出 nullpointerExceptions

javascript - 在函数外部声明变量

c# - 使用 NUnit 自动测试 WPF 应用程序

testing - 如何使用 WebDriver 单击元素