Должны ли сообщения Jasmine 'hopeationFailedOutput' описывать то, что ожидалось или что произошло? - PullRequest
0 голосов
/ 09 февраля 2019

Жасмин 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, знает, что такое типичное соглашение.

1 Ответ

0 голосов
/ 10 февраля 2019

Я не понимаю, почему оно should будет последовательным и почему оно obviously.Некоторые проверки легки для понимания, некоторые - сложные.Когда вы почувствуете, что вам нужно сообщение - добавьте его.Не усложняйте, когда это может быть просто.

...