jasmine - Jasmine 'expectationFailedOutput' 消息应该描述预期的内容还是发生的事情?
问题描述
Jasmineexpect
语句可能会产生毫无价值的错误消息,例如:
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 团队对此没有约定,也许参与过很多 Jasmine 项目的人知道典型的约定是什么。
解决方案
我不明白为什么它should
是一致的,为什么它obviously
。有些检查很容易理解,有些检查很难。当你觉得你需要消息时 - 添加它。当它可能很简单时,不要让它变得困难。
推荐阅读
- nginx - NGINX - 重写基本 url 保留部分 url
- java - 如何为 libGDX 设置 JAVA_HOME?
- spring-boot - 如何使用 spring-data-solr 为 solr 添加基本身份验证?
- node.js - 调用 Node.js 依赖项抱怨承诺的意外令牌
- python - 如果某个单元格包含python的“0”,有没有办法在excel中删除一行?
- c# - C# 列表未由对象填充
- javascript - 如何为 Firebase 中的数组类型文档项分配时间戳
- reactjs - “匹配器”类型上不存在属性“toBeInTheDocument”
' - python-3.x - AWS Glue Python Shell 脚本超时
- python - 跨不同文件训练网络时,每个循环的计算时间都会增加