Я пытаюсь запустить свои тесты e2e с плагином ng-apimock-транспортир над жасмином. Мои фактические данные API, которые я пытаюсь смоделировать, работают в порту 8000. В то время как мое угловое приложение работает в порту 4200.
В соответствии с тем, что описано в файлах README https://github.com/ng-apimock/protractor-plugin, https://github.com/ng-apimock/core и этапах миграции https://github.com/mdasberg/ng-apimock:
В package.json есть devDependencies:
...
"@ng-apimock/core": "^1.0.21",
"@ng-apimock/protractor-plugin": "^1.0.14"
...
и я уже запустил npm install.
Мой файл конфигурации транспортира (protractor.conf.js) выглядит так:
...
exports.config = {
...
plugins: [{package: '@ng-apimock/protractor-plugin'}],
framework: 'jasmine',
baseUrl: 'http://localhost:4200/'
...
};
Мой файл спецификаций (sign-in.e2e-spec.ts) выглядит так:
import {Client} from '@ng-apimock/base-client';
declare const ngApimock: Client;
...
describe('login', () => {
...
it('displays an error message if the signIn fails', async () => {
await ngApimock.selectScenario('login', 'wrong-credentials');
...
});
...
});
Мой фиктивный файл login.mock.json:
{
"name": "login",
"isArray": true,
"request": {
"url": "/login",
"method": "POST",
"body": {
"username": "^[a-zA-Z]{3,10}$",
"password": "^[a-zA-Z]{3,10}$"
}
},
"responses": {
"ok": {
"status": 200,
"default": true
},
"wrong-credentials": {
"default": false,
"status": 400
}
}
}
Я получаю следующую ошибку:
Failed: An error occured while invoking http://localhost:4200/ngapimock/mocks that resulted in status code 404
Я думаю, я должен указать порт 8000 в какой-то момент, но я не могу найти где. Я не уверен, что конфигурация плагина правильная или нет.