Невозможно запустить mockttp с Cypress
Я пытаюсь запустить mockttp с кипарисом. Я использовал пример, указанный в проекте github. Я изменил порт для работы на 3000, но получаю сообщение об ошибке: « Невозможно добавить правила до запуска сервера» .
/*global cy:true,before:true*/
/// <reference path="../../node_modules/cypress/types/index.d.ts" />
const superagent = require("superagent");
const mockServer = require("mockttp").getLocal();
describe('mockttp test' , () => {
beforeEach(() => {
mockServer.start(3000);
});
afterEach(() => {
mockServer.stop();
});
it("lets you mock requests, and assert on the results", async () => {
// Mock your endpoints
const mockedPath = mockServer.forGet("/mocked-path");
// ERROR OCCURS HERE
await mockedPath.thenReply(200, "A mocked response");
// Make a request
const response = await superagent.get("http://localhost:3000/mocked-path");
// Assert on the results
expect(response.text).to.equal("A mocked response");
});
});
1 ответ
Вам нужно подождать, пока сервер действительно не запустится, прежде чем запускать тест, ожидая промисов, возвращенных
mockServer.start()
(и по
.stop()
).
Вы можете сделать свои функции beforeEach и afterEach
async
а потом
await
эти строки, или вы можете просто добавить
return
чтобы вернуть обещание, чтобы Мокко ждал их автоматически.