测试后端api端点是否被认为是单元测试?

时间:2017-08-06 14:50:54

标签: unit-testing express testing tdd bdd

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

2 个答案:

答案 0 :(得分:1)

根据wikipedia?肯定的是:

  

在计算机编程中,单元测试是一种软件测试方法,通过该方法测试各个源代码单元,一个或多个计算机程序模块的集合以及相关的控制数据,使用程序和操作程序,以确定它们是否是适合使用。

换句话说:你以某种方式测试程序的任何东西都可以被视为单元测试。

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

  

在内存中运行(例如,无数据库或文件访问)

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

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

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

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

答案 1 :(得分:0)

它被认为是服务器的单元测试。

之外测试客户端的范围。因为服务器已经在测试了。对于客户端/前端,您应该只测试您的应用程序在获得200,400,500等时是否按预期工作。另请参阅here