Проблема:
В последнее время, просматривая нашу существующую тестовую кодовую базу, я заметил опасный тип опечатки/ошибки, когда expect()
использовался без "соответствующей" части:
expect(page.filters.fromDateLabel.getText(), "After");
Я уверен, что toEqual()
должен был использоваться здесь:
expect(page.filters.fromDateLabel.getText()).toEqual("After");
Проблема заключается в том, что jasmine
не подведет ожидания в этом случае (ну, очевидно, потому что ничего не ожидалось). И это ставит нас к более серьезной проблеме - ничто не было фактически проверено в тестовом примере - это проходило без каких-либо ожиданий. Мы получили ложное представление о том, что было проверено.
Вопрос:
Я хочу поймать эти ошибки как можно быстрее. Как вы думаете, как я должен справиться с этой проблемой?
Мысли:
- каким-то образом отказался от тестового примера, если в нем не было ожиданий (не уверен, что
jasmine
имеет что-то подобное этому встроенному) - "запланировать"
expect()
и выпустить предупреждение/повысить ошибку, если ничего не вызывалось в части "ожидать" - использовать статический анализ кода - определить пользовательское правило
eslint