我可以运行简单的ruby程序,例如
ruby -e "puts 'raja'"
但是当我运行Rspec文件时,我会以这种方式运行
ruby rspec my_example_spec.rb
说,我是否有办法像在第一行中那样将rspec程序作为参数传递?
我尝试过
ruby -e rspec "require 'rspec'
require 'watir'
describe 'My behaviour' do
it 'should do something' do
b = Watir::Browser.new
b.goto 'www.google.com'
b.text_field(name: 'q').set 'Rajagopalan'
sleep 2
b.close
end
end"
但是它没有运行。如何传递带有'-e'参数的rspec程序?
答案 0 :(得分:1)
在Google搜索中,我在RSpec github上发现了这个问题线程:https://github.com/rspec/rspec-core/issues/359
似乎您可以通过放置
从Ruby运行RSpec测试。RSpec::Core::Runner::run({}, $stderr, $stdout)
定义之后。
以下最小测试对我有效:
ruby -e "require 'rspec'
describe 'My behaviour' do
it 'should do something' do
expect(1).to eq(2)
end
end
RSpec::Core::Runner::run({}, \$stderr, \$stdout)
"