Жасмин добавить блок "это" в качестве функции перед каждым
Я использую Frisby.js для автоматизации моих API. Есть два API addUser и удалить пользователя, которые мне нужно использовать перед несколькими другими API, а затем удалить его. Я использую следующий формат блока в тех случаях, когда мне нужно использовать два API.
describe('Successfully change password', function () {
//addUser
beforeEach(function(done) {
frisby
.post(adduser_endpoint, newuser_payload)
.expect('status',200)
.done(done)
})
it('Enter valid Password to set password', function (done) {
frisby
.post(reset_password_endpoint, change_password_payload)
.expect('status', 200)
.done(done)
})
//delete user
afterEach(function(done) {
frisby
.del(del_user_endpoint)
.expect('status',200)
.done(done)
})
})
Это избыточный код, вызываемый несколько раз. Я пытался извлечь две функции так, чтобы их можно было повторно использовать, а затем переписать приведенный выше тест следующим образом. Однако это не работает.
const addUser = function(done) {
frisby
.post(adduser_endpoint, newuser_payload)
.expect('status',200)
.done(done)
})
const delete =function(done) {
frisby
.del(del_user_endpoint)
.expect('status',200)
.done(done)
}
describe('Successfully change password', function () {
//addUser
beforeEach(addUser())
it('Enter valid Password to set password', function (done) {
frisby
.post(reset_password_endpoint, change_password_payload)
.expect('status', 200)
.done(done)
})
//delete user
afterEach(delete())
})
1 ответ
Попробуй это:
beforeEach(addUser())
-> beforeEach(addUser)
afterEach(delete())
-> afterEach(delete)
То, что у вас было, было вызовом функций, которые вы определили. То, что вы действительно передавали, было нерешенным обещанием beforeEach
а также afterEach
, где вы хотели передать функцию, которая принимает один параметр, готово.
Это изменение передает ваши предопределенные функции, addUser
а также delete
- которые имеют правильную подпись - для функций настройки и демонтажа.