Тест CucumberJs с вавилонским тестом не удался из-за тайм-аута

У меня есть API, написанный на ES6, запущенный с babel, который работает без проблем. Я использую cucumberJS, чтобы создать два сценария для тестирования одного маршрута API. Я запустил тест, используя ES5, и запустил его классически ./node-modules/.bin/cucumber-js

Это моя версия ES5, работающая без проблем

const chai    = require('chai');
const expect  = chai.expect;
const request = require('request').defaults({json: true});
var httpResponse = {};
const API_BASE_URL = 'http://localhost:3000';

module.exports = function () {
    this.When(/^I GET (.*)$/, function(path, callback) {
        request.get(API_BASE_URL + path, function(error, response, body) {
            httpResponse = {error: error, response: response, body: body};
            callback();
        });
    });

    this.Then(/^I should receive a ([1-5][0-9][0-9]) HTTP status code$/, function(statusCode, callback) {
        expect(httpResponse).to.have.property('response');
        expect(httpResponse.response.statusCode).to.equal(parseInt(statusCode));
        callback();
    });
};

2 scenarios (2 passed)
4 steps (4 passed)
0m00.135s

Я переписываю свой тест, используя ES6, и добавлен параметр --compiler js:babel-registrer.

module.exports = function () {
    this.When(/^I GET (.*)$/, (path, callback) => {
        request.get(`${API_BASE_URL}${path}`, (error, response, body) => {
            this.http = { error, response, body };
            callback();
        });
    });

    this.Then(/^I should receive a ([1-5][0-9][0-9]) HTTP status code$/, (statusCode, callback) => {
        expect(this).to.have.property('http');
        expect(this.http.response.statusCode).to.equal(parseInt(statusCode));
        callback();
    });
};

Тем не менее, на этот раз тест не пройден во время выполнения этого. Во время первого scneario, сообщающего мне, что время ожидания истекло.

Scenario: Listing users                        # features/users.feature:5
    Given I GET /users                           # features/step_definitions/api.js:12
      Error: Step timed out after 5000 milliseconds
          at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)
    Then I should receive a 200 HTTP status code # features/step_definitions/api.js:20

  Scenario: Getting user                         # features/users.feature:9
    Given I GET /users/1                         # features/step_definitions/api.js:12
    Then I should receive a 200 HTTP status code # features/step_definitions/api.js:20

Failing scenarios:
features/users.feature:5 # Scenario: Listing users

2 scenarios (1 failed, 1 passed)
4 steps (1 failed, 1 skipped, 2 passed)
0m00.310s

Любой совет? Вавилонская проблема с транспиляцией?

0 ответов

Другие вопросы по тегам