2012-04-05 85 views
9

我對Rspec的一些測試,它看起來像這樣的列表:Ruby Rspec。獲取所有測試

describe "description" do 

before :each do 
    do_before() 
end 

it "something_1" do 
    ... 
end 

it "something_2" do 
    ... 
end 

end 

我知道,我可以用

example.description 
獲得當前測試的(「 something_1」)名稱

有沒有辦法在before :each區域獲得所有描述的數組?

+0

你想用的名字做所有的測試?也許你需要別的東西 – arieljuod 2014-02-15 03:01:02

回答

9

曾經有一種方法可以使用標籤--dry-run來做到這一點,但已經被刪除並且不再有效。

您可以使用format = documentation的-fd。這會向您顯示您已完成的所有規格以及它們的外觀。但是,它仍然會運行測試並向您顯示您在此過程中遇到的任何錯誤。這表示它仍然是列出所有測試的好方法。

+0

謝謝,但我不想運行rspec的另一個示例,以獲取名稱。 – ShockwaveNN 2012-04-05 14:00:58

+1

僅供參考 - 我們刪除'--dry-run'的原因是必須運行單行程序(例如'it {should do_something}')才能知道它們的名稱。 – 2012-04-05 14:16:55

+4

目前您可以將'-f d'與'--dry-run'結合使用。 – Nakilon 2014-11-07 10:15:12

3
rspec -f d --color --dry-run filename 

對我的作品在rspec的3.5.2,列出不運行這些