茉莉花的“ expectationFailedOutput”消息应描述预期的情况或发生的情况吗?

时间:2019-02-09 19:02:37

标签: jasmine jasmine2.0

茉莉花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'.

请注意,这些行是相同的,除了在第一种情况下,我描述了期望测试的内容,在第二种情况下,我描述了实际发生的情况。

很明显,我应该选择一种约定,并在我的代码库中一致地使用它,但是我在文档中找不到任何关于典型约定的内容。该消息应该描述我们期望会发生什么,还是应该描述 did 会发生什么?

如果Jasmine团队对此没有约定,那么也许很多从事Jasmine项目工作的人都知道典型的约定是什么。

1 个答案:

答案 0 :(得分:-1)

我不知道为什么should是一致的以及为什么obviously是一致的。有些检查很容易理解,有些很难。当您觉得需要消息时-添加它。只要简单就不要难。