ng-apimock protractor-plugin, настраивающий порт, отличный от указанного в baseUrl - PullRequest
0 голосов
/ 02 июля 2019

Я пытаюсь запустить свои тесты 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 в какой-то момент, но я не могу найти где. Я не уверен, что конфигурация плагина правильная или нет.

...