如何用两个不同的期望值断言一个实际值

Posted

技术标签:

【中文标题】如何用两个不同的期望值断言一个实际值【英文标题】:How to assert an actual value with two different expected values 【发布时间】:2018-03-25 12:47:18 【问题描述】:

我正在编写一个量角器测试,它针对两个不同的浏览器 URL 断言一个 URL。

我尝试将toMatch 与正则表达式一起使用,但出现错误。

是否可以针对 2 个或更多预期字符串值断言实际字符串值并查看它是否等于其中任何一个?

expect(url1).toMatch(/this.url|www.google.com/);

【问题讨论】:

也许你会在 jasmine-matchers npm 模块中找到一些东西 如果您使用的是茉莉花,请查看此帖子***.com/questions/13530365/… 【参考方案1】:

听起来您想使用toContain() 来查找数组中的项目。所以切换你的断言,因为你想向它传递一个 URL 数组[this.url, 'www.google.com'] 并断言它将包含url1

expect([this.url, 'www.google.com']).toContain(url1);

注意:虽然这应该可行,但我个人不喜欢将我的值放在断言的接收端,即toContain(url1),我宁愿首先传递expect(url1)...。但是,最终它仍然在断言实际值与预期值,所以在我看来并不是什么大问题。

https://jasmine.github.io/2.0/introduction.html

【讨论】:

感谢您的帮助。我通过使用类似这样的其他方式让它工作并且它工作..!期望(this.currentURL).toContain((url1|| 'www.google.com'));

以上是关于如何用两个不同的期望值断言一个实际值的主要内容,如果未能解决你的问题,请参考以下文章

gtest断言

Nodejs断言测试

属性语法中的实际值和期望值是啥?

如何用Python优雅的合并两个Dict

如何用决策树法评价选择最优方案

Jmeter JSON路径断言