Генерация динамических тестов Mocha с генерацией динамических данных - PullRequest
0 голосов
/ 04 мая 2018

Я создал метод с именем testLoginFailed

let testloginFailed = (app, title, data) => {
it(title, function (done) {
    request(app)
        .post(apiEndPoints.auth.login)
        .send(data)
        .then((response) => {
            response.statusCode.should.equal(401);
            response.body.error.name.should.equal('Error');
            response.body.error.message.should.equal('login failed');
            response.body.error.code.should.equal('LOGIN_FAILED');
            done();
        })
        .catch((error) => {
            done(error);
        })
});
};

и вот мой блок описания

describe('login negative Tests', () => {
before(function () {
    let loginFailedTests = [
        {
            title: 'it should fail user login using mobile because of incorrect mobile',
            data: {
                username: '1223334444',
                password: options.user.password
            }
        }, {
            title: 'it should fail user login using mobile because of incorrect password',
            data: {
                username: options.user.mobileNumber,
                password: options.user.password + '123'
            }
        }
    ];
});

loginFailedTests.forEach((test) => {
    testloginFailed(app, test.title, test.data);
});

});

Постановка задачи:

  1. Я хочу создать динамические тестовые случаи, используя функцию 'testloginFailed', описанную выше.
  2. Поэтому я вызываю метод в цикле с другим набором тестовых данных testloginFailed .
  3. Массив testloginFailed инициализируется в блоке before, так как ему нужны некоторые данные, которые находятся в глобальном масштабе с использованием параметров.

Проблема: когда я пытаюсь использовать этот массив testloginFailed на шаге 2 выше, он говорит

        loginFailedTests.forEach((test) => {
        ^

ReferenceError: loginFailedTests не определено

...