Жасмин expect
операторы могут выдавать бесполезные сообщения об ошибках, такие как:
Expected true to be false.
. Для решения этой проблемы сопоставители позволяют добавить поясняющее сообщение в качестве второго аргумента, expectationFailedOutput
:
toBe(expected: any, expectationFailOutput?: any): Promise<void>;
Это позволяет вам написать:
expect(await password.isDisplayed).toBe(true, "Password field should be visible");
expect(await password.isDisplayed).toBe(true, "Password field was not visible");
Это приведет к следующим сообщениям об ошибках, соответственно:
Expected false to be true, 'Password field should be visible'.
Expected false to be true, 'Password field was not visible'.
Обратите внимание, что эти строки одинаковы, за исключением того, что вВ первом случае я описал то, для чего ожидалось тестирование, а во втором я описал то, что на самом деле произошло.
Очевидно, я должен выбрать одно из этих соглашений и использовать его последовательно в своей кодовой базе, но я могу 'В документации ничего не сказано о типичном соглашении.Должно ли сообщение описывать то, что мы ожидали , или оно должно описывать то, что произошло ?
Если команда Жасмин не имеет соглашения для этого, возможно,Кто-то, кто работал над многими проектами Jasmine, знает, что такое типичное соглашение.