Rails Rspec - 运行单个测试

3

我正在学习RSpec。我想只在一个文件上运行rspec。我通过以下方式实现了这一点:

cd to/my/project

并且。
rspec ./spec/parent/child/spec.rb

但是在我执行了这个命令之后

rspec --order rand:seed

我的RSpec从第一个测试开始运行。我该如何撤销这个命令?

2个回答

5

尝试运行单个测试:

rspec ./spec/parent/child/spec.rb:line_number_of_your_test

line_number_of_your_test 可以是跨越测试的任何数字,如果你的 it 块是多行块。

更新:已删除“rand:seed”部分。


它仍然从第一个(所有测试)运行。 - krishna
你能试一下不指定--order rand:seed吗? - Jagdeep Singh
此外,在这里 https://relishapp.com/rspec/rspec-core/docs/command-line/order 我没有看到任何名为 rand:seed 的选项,除非你所说的 seed 是指种子数字。 - Jagdeep Singh
这也应该很有帮助:https://relishapp.com/rspec/rspec-core/v/3-5/docs/command-line/line-number-appended-to-file-path - Jagdeep Singh
@JagdeepSingh,如果你只要运行一个测试,为什么要使用rand: seed - fabdurso

2

您只需要运行

rspec your_file.rb:number_of_line

所以,如果您的文件名是login.rb,并且它看起来像
1 describe "test something" do
2  it "signup" do
3   ...
4  end
5  it "signin" do
6   ...
7  end
8 end

如果你想运行只有"signin"测试的话,你需要运行:

rspec login.rb:5

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接