Невозможно использовать ожидание в Chai.js с Nightwatch - PullRequest
1 голос
/ 29 марта 2019

Я строю простой тест e2e с Nightwatch. Этот простой тест e2e успешно пройден.
Затем я создаю второй тест для использования Chai.js / Mocha.js. Но этот тест вызывает исключение.

// First(successfully passed)
module.exports = {
  'increment counter': browser => {
    browser
      .url(process.env.VUE_DEV_SERVER_URL)
      .click("button#plus-btn")
      .assert.containsText('h1', '1')
      .end()
  },
  "decrement counter": browser => {
    browser
      .url(process.env.VUE_DEV_SERVER_URL)
      .click("button#minus-btn")
      .assert.containsText('h1', '-1')
      .end()
  }
}
// Second
describe('counter testing', () => {

  describe('press plus button', () => {

    it('increments counter', (browser) => {
      browser
        .url(process.env.VUE_DEV_SERVER_URL)
        .click("button#plus-btn")
        .expect.element('h1').text.to.equal('1')
        .end()
    })
  })

  describe('press minus button', () => {

    it('decrements counter', (browser) => {
      browser
        .url(process.env.VUE_DEV_SERVER_URL)
        .click("button#minus-btn")
        .expect.element('h1').text.to.equal('-1')
        .end()
    })
  })
})

Сообщение об исключении

TypeError: browser.url(...).click(...).expect.element(...).text.to.equal(...).end is not a function

Что мне делать дальше?

1 Ответ

1 голос
/ 29 марта 2019

Согласно документам , вы должны вызывать end по-другому, используя expect для утверждений.Я думаю, это потому, что путь expect основан на chai.Изменение ваших тестов, чтобы они выглядели так, будет работать

it("increments counter", browser => {
  browser
    .url(process.env.VUE_DEV_SERVER_URL)
    .click("button#plus-btn")
    .expect.element("h1")
    .text.to.equal("1");
  // See how end is called differently
  browser.end();
});
...