如何在 assert_selector ruby 和 rails 中使用正则表达式

How to use regexp in assert_selector ruby on rails

我有一个在页面上显示日期和时间的选择器,需要编写水豚测试来检查日期。如何在 assert_selector?

中包含正则表达式
assert_selector("div", text: /"#{DateTime.now.strftime('%a %b %d, %H:%M')}"*/i)

它不能用作正则表达式。在 rails

上使用 ruby 中的 assert_selector 测试部分文本或子字符串的语法是什么

text 选项确实接受正则表达式来匹配文本,但它也默认为部分匹配,因此通常不需要传递正则表达式

assert_selector("div", text: DateTime.now.strftime('%a %b %d, %H:%M'))

将对元素的文本进行部分匹配。

如果你真的想使用正则表达式(假设你实际上并不是要检查周围的“s”)那么你会想要像

这样的东西
assert_selector("div", text: /#{Regexp.escape(DateTime.now.strftime('%a %b %d, %H:%M'))}/i)