Web应用程序,特别是企业内部使用的Web应用程序,通常分为两部分编写。用户界面和一些业务逻辑在web浏览器中运行,而业务逻辑、授权和持久性在服务器上运行。这两个部分通常通过JSON通过HTTP进行通信。端点不应该被误认为是真正的API;它们只是跨两个运行时环境拆分的应用程序的实现细节。同时,它们提供了一个有效的接缝来单独测试各个部分。在测试JavaScript部分时,服务器端可以在网络级别上被存根和模拟,例如江湖郎中.Mock服务工作者提供了在浏览器中拦截请求的另一种方法。这也简化了手工测试。与Mountebank类似,Mock Service Worker作为Node.js进程在浏览器外运行,用于测试网络交互。除了REST交互,它还模拟GraphQL api——这是一个好处,因为在网络级别手动模拟GraphQL可能很复杂。
Web应用程序,特别是为企业内部使用而编写的Web应用程序,通常分为两部分编写。用户界面和一些业务逻辑在web浏览器中运行,而业务逻辑、授权和持久性在服务器上运行。这两个部分通常通过JSON通过HTTP进行通信。端点不应该被误认为是真正的API;它们只是跨两个运行时环境拆分的应用程序的实现细节。同时,它们提供了一个有效的接缝来单独测试各个部分。在测试JavaScript部分时,服务器端可以在网络级别上被存根和模拟,例如江湖郎中.另一种方法是在浏览器中拦截请求。我们喜欢Mock服务工作者因为对于service worker,它使用了开发人员熟悉的抽象。这种方法会导致更简单的设置和更快的测试执行。然而,由于这些测试并不测试实际的网络层,因此您希望实现一些端到端测试,作为健康测试金字塔的一部分。