ruby - 针对特定上下文运行 rspec 测试

标签 ruby testing rspec

我有一个 rspec 测试定义如下。我知道我可以运行 rspec -e "guessing" 来运行完整的测试 block ,但我想一次只运行特定的上下文。这样我就可以先对“正确”的测试进行编码,然后再对“不正确”的部分进行编码。是否有命令行方式运行指定的测试而不单独命名它们?

describe 'guessing' do
  context 'correctly' do
    it 'changes correct guess list' do

    end
    it 'returns true' do

    end
  end
  context 'incorrectly' do
    it 'changes wrong guess list' do

    end
    it 'returns true' do

    end
  end
end

最佳答案

您可以使用 -e 来匹配描述的任何部分,因此 rspec -e incorrectly 将运行这两个测试。 (我不知道只有“正确”匹配的方法,因为它也是“不正确”的子串。)

您还可以使用 a line number reference匹配一个 context block :rspec your_spec.rb:2 (完全给出上述内容,第 2 行 context 'correctly' do)将运行那组规范。

关于ruby - 针对特定上下文运行 rspec 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51737181/

相关文章:

ruby - 使用 RMagick 将 CMYK 图像正确转换为 RGB

mysql - Ruby:查找 SQL 记录并更新 bool 字段

angularjs - Angular - Material - 测试 - $mdSidenav

ruby-on-rails - Rails-枚举字段的测试验证

ruby-on-rails - 如何从 RSpec View 规范测试页面的标题?

ruby - 在 Ruby 中将数字字符串转换为数字

go - 无法理解 go test -race : RACE: DATA WARNING stack trace

testing - 使用决策表方法创建测试用例

ruby-on-rails - 我可以让 RSpec 生成具有 expect 语法的规范吗?

ruby-on-rails - 如何从初始化程序停止 Rails 执行?