例如,如果您有一个使用 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/