Как вызвать функцию с экспортом, определенным за пределами описать () внутри описания () в том же файле JS
Я пытаюсь написать что-то вроде
describe('Create User', function () {
it('1: All Data Valid', function (done) {
servicesGenerator.postPlayoApi(apiEndPoints.createUser)
.send(this.getValidUserCreateBody())
.end(function (err, res) {
validator.userDataTypeValidator(err, res);
done();
});
});
});
exports.getValidUserCreateBody = function() {
return {
"emailId": testData.emailIdDefault,
"fName": testData.fNameDefault,
"lName": testData.lNameDefault,
"gender": testData.genderDefault,
};
}
Но это дает ошибку TypeError: this.getValidUserCreateBody не является функцией Как мне перейти к реализации этого потока?
1 ответ
Решение
Подняв тебя. Пожалуйста, определите getValidUserCreateBody
выше описания.
Также, this
в функции отличается тем, что this
вне. Попробуйте использовать getValidUserCreateBody
через закрытие.
var getValidUserCreateBody = function() {
return {
"emailId": testData.emailIdDefault,
"fName": testData.fNameDefault,
"lName": testData.lNameDefault,
"gender": testData.genderDefault,
};
}
exports.getValidUserCreateBody = getValidUserCreateBody; //You don't necessarily need this line if you don't use it outside this file.
describe('Create User', function () {
it('1: All Data Valid', function (done) {
servicesGenerator.postPlayoApi(apiEndPoints.createUser)
.send(getValidUserCreateBody())
.end(function (err, res) {
validator.userDataTypeValidator(err, res);
done();
});
});
});