Sim*_*mon 4 rspec ruby-on-rails
我在网上搜索了所有内容,但似乎找不到解决方法,以下示例不起作用:
# spec/my_spec.rb
describe myText do
it "won't work" do
raise "never reached"
end
it "will work", :focus => true do
1.should = 1
end
end
$ rspec --tag focus spec/my_spec.rb
Run Code Online (Sandbox Code Playgroud)
有帮助吗?
通常,要执行一个规范,您可以
rspec path/to/your/spec.rb:123
Run Code Online (Sandbox Code Playgroud)
123您的规范开始的行号在哪里。
但是,您的特定示例永远无法工作,因为您有两种错别字:
1.should = 1
Run Code Online (Sandbox Code Playgroud)
应该
1.should eq 1 # deprecated to use 'should'
Run Code Online (Sandbox Code Playgroud)
因为否则您将为“ 1.should”分配“ 1”,这没有意义。
您也不能写“ describe myText”,因为myText在任何地方都没有定义。你可能是说describe 'myText'。
最后,RSpec断言的首选方法是
expect(1).to eq 1 # preferred
Run Code Online (Sandbox Code Playgroud)
为了证明这项工作,我做到了:
mkdir /tmp/example
gem_home .
gem install rspec
cat spec.rb
# spec.rb
describe "example" do
it "won't work" do
raise "never reached"
end
it "will work", :focus => true do
expect(1).to eq 1
end
end
Run Code Online (Sandbox Code Playgroud)
并且通过了,仅执行“将工作”规范:
rspec --tag focus spec.rb
Run options: include {:focus=>true}
.
Finished in 0.0005 seconds (files took 0.05979 seconds to load)
1 example, 0 failures
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1949 次 |
| 最近记录: |