Сравнение дат, использующих getTime()
, возвращающее число миллисекунд из эпохи (т. е. число):
var startDate1 = new Date("02/10/2012");
var startDate2 = new Date("01/10/2012");
var startDate3 = new Date("01/10/2012");
alert(startDate1.getTime() > startDate2.getTime()); // true
alert(startDate2.getTime() == startDate3.getTime()); //true
Также рассмотрите использование конструктора Date
с использованием явного числа year / month / date, а затем полагаясь на строковое представление (см. Date.parse () ). И помните, что даты в JavaScript всегда отображаются с использованием часового пояса клиента (браузера).
Во-первых, я не думаю, что вам нужно loopExpect
, потому что есть более простой и надежный способ реализовать это:
test('check contains Book property', async () =>
[{title: 'SOLID Principles', author: 'Uncle Bob Martin'}].forEach(book =>
expect(book).toContainKeys(['year'])
)
)
Но если вам действительно нужна вспомогательная функция, вам нужно узнать, где тест не удался, один из способов узнать, это посмотреть трассировку стека. И если вы хотите, чтобы ошибка имела другую трассировку стека с линией из вашего тестового файла вверху, тогда вы можете заключить свой тест в блок try
и выдать новую ошибку из блока catch
. [115 ]