Я создал метод с именем 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);
});
});
Постановка задачи:
- Я хочу создать динамические тестовые случаи, используя функцию 'testloginFailed', описанную выше.
- Поэтому я вызываю метод в цикле с другим набором тестовых данных testloginFailed .
- Массив testloginFailed инициализируется в блоке before, так как ему нужны некоторые данные, которые находятся в глобальном масштабе с использованием параметров.
Проблема: когда я пытаюсь использовать этот массив testloginFailed на шаге 2 выше, он говорит
loginFailedTests.forEach((test) => {
^
ReferenceError: loginFailedTests не определено