Mochaweasome содержал только описание пройденных тестовых случаев

#javascript #node.js #mocha.js #cypress #mochawesome

Вопрос:

Я использую отчет mochawesome, чтобы запечатлеть мое исполнение cypress. Тестовый пример показывает, что просто прошел и не нашел пройденных шагов и утверждения, которые добавляются в отчет как часть этого теста.

Примерный снимок (Извините за слишком много ошибок):

введите описание изображения здесь

Я очень новичок в мире кипариса и мокко, и я хотел бы увидеть все действия, которые были сделаны в этом тесте. Как будто я вижу очень четкие детали в кипарисе.открой. Как я могу получить всю такую информацию в рамках отчета mochawesome? Есть ли какие-либо централизованные (support/index.js или plugin/index.js файл) место для внесения этих изменений, которые будут повторяться повсюду в программе.

Ожидаемый:

Ожидается, что все действия должны быть зафиксированы как часть отчета mochawesome, как показано ниже. Пример:

Он содержит статус действия click() и статус отправки действия в отчете для этого тестового случая. и введите() сбой, чтобы было очень легко отлаживать сбои.

введите описание изображения здесь

Ответ №1:

В отчете mochawesome каждый it блок становится одной строкой отчета, и вы можете добавить дополнительную отчетность с помощью addConext, как показано ниже (источник: документация mochawesome)

 const addContext = require('mochawesome/addContext');
describe('test suite', function () {
  it('should add context', function () {
    // context can be a simple string
    addContext(this, 'simple string');

    // context can be an image url and the report will show it inline
    addContext(this, 'http://www.url.com/screenshot-maybe.jpg');

  });
});
 

Но если вы действительно хотите сгенерировать отчет в том виде, в каком вы его прикрепили, вам нужно разбить каждое действие на тест, т. е. it блок. Ниже приведен пример кода, который можно использовать.

 describe("Test suite",function(){
   const cy = "";//put your code to initialize cy
   it("Action 1", function(){
      //code to perform action
   });

   it("Action21", function(){
      //code to perform action2
   })

})