ruby-on-rails - 将字符串与 rspec 中的正则表达式进行比较?

标签 ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4 rspec

我在做

expect(@link.url_address == 'abc').to be_true

但 url_address 可能在 abc 之后有其他文本,所以我正在尝试

expect(@link.url_address =~ 'abc').to be_true

但是我得到了

Failure/Error: expect(@link.url_address =~ /abc/).to be_true
   expected  to respond to `true?`

我也试过

expect(@link.url_address).to =~ /abc/

但是我明白了

 Failure/Error: expect(@link.url_address).to =~ /abc/
 ArgumentError:
   The expect syntax does not support operator matchers, so you must pass a matcher to `#to`.

最佳答案

试试这个:

expect(@link.url_address).to match(/abc/)

来源:https://github.com/rspec/rspec-expectations#regular-expressions

关于ruby-on-rails - 将字符串与 rspec 中的正则表达式进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25372445/

相关文章:

ruby - 验证包含值时出现验证错误 :Rails

ruby-on-rails-3 - 关于 capybara 的几个问题

ruby-on-rails - 回调是如何调用的?

jquery - Rails 布局中的导航栏没有响应

Ruby:如何从另一个文件导入变量?

ruby-on-rails - 用于注册 Spree Commerce 的电子邮件验证

mysql - Rails 应用程序(在本地计算机上)可以连接到远程数据库(在临时服务器上),而无需在本地计算机上设置 mysql 吗?

ruby-on-rails-3 - 基于 DataMapper 模板的 Rails 3 项目中缺少 `test` rake 任务

ruby-on-rails - 错误 : When assigning attributes, 您必须将散列作为参数传递

ruby-on-rails - rails : bundler::GemNotFound