"Mock" 使用 Protractor、Cucumber 和 Chai 的后端 http 响应
"Mock" a backend http response with Protractor, Cucumber and Chai
首先我会解释我的目标:
我有一个应用程序分为几个模块。在这种情况下,我只想测试我的 ui-模块。
我在那里有一些后端调用,我想模拟响应或只是更改某些模型的值。我认为你不能更改模型的值,所以我正在尝试模拟后端。
我有一个模型 'documents',当我按下搜索按钮时,它会从其他模块的后端获取数据。
示例:http://localhost:8080/search-module/API/search
我想在没有后端的情况下进行测试。
我已经尝试使用 "httpbackend",但无法正常运行。我也试过 "protractor-http-mock" 但都没有
这是我现在的所有代码:
我从黄瓜和嘲笑开始,如果这个问题太笼统,请原谅我。
我在 ruby 中看到 Pinch Hitter and WebMock 用于此。
如果你想要一个进程外服务器,我有一个 simulator 可以让你 POST 下一个 GET 如果有帮助的话。
Scenario Outline: Request a special service reply for a particular path
When I request a GET for "<response>" from "<path>"
And I send a GET to "<path>"
Then I receive "<response>"
Examples:
| path | response |
| /test1 | col1,col1\nr1c1,r1c2\nr2c1,r2c2 |
@service.get
Scenario Outline: Request a service reply from a preset file
When I have a file "<name>" with "<contents>"
And I send a GET to "<name>"
Then I receive "<contents>"
Examples:
| name | contents |
| temp | One fish, two fish, red fish, blue fish |
这是最终的解决方案。经过 2 天的研究,我的一切正常。
https://docs.google.com/document/d/1beEchJyQejSLajJo1zqOd0gdUtaAESIqIkBXPzOs_IU/edit?usp=sharing
在尝试用这个 "framework" 测试一些东西之后。我可以说柴是没有必要的。只要 Protractor-cucumber-framework 和 cucumber 包就够了
首先我会解释我的目标: 我有一个应用程序分为几个模块。在这种情况下,我只想测试我的 ui-模块。 我在那里有一些后端调用,我想模拟响应或只是更改某些模型的值。我认为你不能更改模型的值,所以我正在尝试模拟后端。
我有一个模型 'documents',当我按下搜索按钮时,它会从其他模块的后端获取数据。 示例:http://localhost:8080/search-module/API/search 我想在没有后端的情况下进行测试。
我已经尝试使用 "httpbackend",但无法正常运行。我也试过 "protractor-http-mock" 但都没有
这是我现在的所有代码:
我从黄瓜和嘲笑开始,如果这个问题太笼统,请原谅我。
我在 ruby 中看到 Pinch Hitter and WebMock 用于此。
如果你想要一个进程外服务器,我有一个 simulator 可以让你 POST 下一个 GET 如果有帮助的话。
Scenario Outline: Request a special service reply for a particular path
When I request a GET for "<response>" from "<path>"
And I send a GET to "<path>"
Then I receive "<response>"
Examples:
| path | response |
| /test1 | col1,col1\nr1c1,r1c2\nr2c1,r2c2 |
@service.get
Scenario Outline: Request a service reply from a preset file
When I have a file "<name>" with "<contents>"
And I send a GET to "<name>"
Then I receive "<contents>"
Examples:
| name | contents |
| temp | One fish, two fish, red fish, blue fish |
这是最终的解决方案。经过 2 天的研究,我的一切正常。 https://docs.google.com/document/d/1beEchJyQejSLajJo1zqOd0gdUtaAESIqIkBXPzOs_IU/edit?usp=sharing
在尝试用这个 "framework" 测试一些东西之后。我可以说柴是没有必要的。只要 Protractor-cucumber-framework 和 cucumber 包就够了