测试HTTP请求 - 使用MockBackend

优质
小牛编辑
121浏览
2023-12-01

wikisearch.spec.ts

接下来,我们订阅来自我们后端的任何传入连接。这使我们可以访问一个对象 ,它允许我们配置我们想要从我们的后端发送的响应,以及测试任何来自我们正在测试的服务的请求。

在我们的示例中,我们要验证SearchWiki的搜索方法是否向正确的URL发出GET请求。这是通过查看当我们的服务连接到我们的模拟后端时获得的请求对象来完成。分析request.url属性,我们可以看到它的值是否是我们期望的值。这里我们只检查URL,但在其他情况下,我们可以看到是否已设置某些头,或者是否已发送某些POST数据。

可以使用多个响应。假设您的服务有两个可能的GET请求 - 一个用于,另一个用于/api/users/1。这些请求中的每一个具有不同的对应的模拟数据集合。当通过订阅接收新的连接时,您可以检查请求的是什么类型的URL,并使用任何一组模拟数据进行响应。

最后,我们可以通过调用和订阅结果来测试SearchWiki服务的搜索方法。一旦我们的搜索过程完成,我们检查结果对象,看看它是否包含相同的数据,我们mock到我们的后端。如果是,那么恭喜你,你的测试已经通过。