Почему мой тест Мокко / Чай дает ложный положительный результат? - PullRequest
0 голосов
/ 05 декабря 2018

Как предварительный курсор к этому вопросу, я новичок в Node, JS, Mocha и Chai!

У меня есть набор тестов, которые я запускаю, используя npm run start, в котором 'start'определяет скрипт в моем файле Package.json:

  "devDependencies": {
    "chai": "^3.5.0",
    "chai-as-promised": "^7.1.1",
    "cli-color": "^1.1.0",
    "concurrently": "^3.1.0",
    "mocha": "^5.2.0"
  },
  "dependencies": {
    "body-parser": "^1.16.1",
    "cors": "^2.8.1",
    "express": "^4.14.0",
    "moment": "^2.18.1",
    "superagent": "^3.3.2"
  }

Вот мой тест:

const expect = require('chai').expect;
const screenshotFolder = 'puppeteer/test/screenshots';

module.exports = async(page) => {

  const frame = page.frames().find(frame => frame.name() === 'iframe');

  const allChoicesButton = await frame.$('.statement a.all-choices');
  await allChoicesButton.click({});

 
    const saveYourChoicesButton = await frame.$('.button.permissions-block__submit');
    await saveYourChoicesButton.click({});

 try {
    const confirmationMessageText = await frame.$eval('.submission-response__copy > p', e => e.textContent);

    describe('User can choose all', function() {
      it('Click choose all and display a confirmation message', function(done) {
        expect(confirmationMessageText).to.equal('Thank you. Your choices have been updatedx.').
        notify(done)
      });
    });

  } catch (err) {
    await page.screenshot({
      path: screenshotFolder + '/confirmationMessageText.png',
      fullPage: true
    });
  }
};

Я специально добавил 'x' в 'updatedx', чтобы он не работал ... только он проходит.Итак, я уверен, что об этом спрашивали 100 раз, но мне неясно, почему он проходит, а также почему печатается снимок экрана, учитывая, что ошибка не выдается.

Заранее спасибо.

1 Ответ

0 голосов
/ 05 декабря 2018

Теперь я понял ошибку, поменял местами frame. $ Eval with frame. $, И это решило проблему.

...