Кипарисовый тест не соответствует ожидаемым значениям

Несколько тестов недавно начали давать сбой при запуске cypress с Chrome.

Тест 1

Cypress не может правильно проверить текст. Вот скриншоты:

Текст, отображаемый в пользовательском интерфейсе Кипарисовый тест не соответствует ожидаемым значениям

Текст соответствует: Кипарисовый тест не соответствует ожидаемым значениям

Вот как число генерируется в коде:

let dateString = '';
before(() => {
  dateString = Date.now();
  timestamp = `XXX.${dateString}`;
});

it('test to save data', () => {
  // uses timestamp variable to save data
});

it('test to check data', () => {
  // uses the same timestamp variable to check data
});

Как значение переменной timestamp может различаться между двумя тестами? Вызывается ли метод before снова для каждого блока it? Если он будет вызван снова, как я могу убедиться, что оба теста имеют одинаковое значение для переменной timestamp?

Как регистрировать все результаты тестов DBT в централизованной таблице snowflake
Как регистрировать все результаты тестов DBT в централизованной таблице snowflake
DBT имеет множество встроенных функций для автоматизации трудоемкой работы. Одной из таких функций является тест DBT.
1
0
28
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В этом блоке dateString не строка, а число, и ошибка выглядит как проблема с округлением (последняя цифра отличается).

let dateString = '';
before(() => {
  dateString = Date.now();
  timeStamp = 'XXX.' + `${dateString}`;
})

Создание dateString правильной строки должно решить проблему, так как символы будут заблокированы.

let dateString = '';
before(() => {
  dateString = Date.now().toString()
  timeStamp = `XXX.${dateString}`      // BTW this is how string interpolation looks
})

спасибо и хороший улов на интерполяции строк, хе-хе

Syed Ali 23.03.2022 16:30

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