Жасмин добавить блок "это" в качестве функции перед каждым

Я использую 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 - которые имеют правильную подпись - для функций настройки и демонтажа.

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