2010-01-12 22 views
2

我總是運行autospec以同時運行功能和RSpec,但在本地計算機上運行所有功能通常非常耗時。我會在提交代碼之前運行每個功能。在Autospec中使用Cucumber在Ruby on Rails開發中傳遞選項

我想通過autospec命令的參數。 autospec顯然不直接接受參數。下面是autospec -h輸出:

autotest [options] 

options: 
    -h 
    -help  You're looking at it. 

    -v  Be verbose. 
      Prints files that autotest doesn't know how to map to 
      tests. 

    -q  Be more quiet. 

    -f  Fast start. 
      Doesn't initially run tests at start. 

我有一個在configcucumber.yml目錄。我在Rails根目錄中也有rerun.txtcucumber -h給了我很多關於參數的信息。

如何針對標記爲@wip的功能運行autospec?我想我可以利用config/cucumber.yml。有配置文件定義。我可以運行cucumber -p wip僅運行@ wip-tagged功能,但我想用autospec來執行此操作。

我很感激任何有關使用許多規格和功能文件的提示。

回答

3

如果你在OSX上,你可以嘗試使用Kicker寶石時,文件更改啓動黃瓜:

$ kicker -e "cucumber -p wip" . 

不幸的是,我不知道是否有一個可比較的程序在windows/l上執行任意文件監視inux

+0

我* * OS X.看起來很有希望。 – 2010-01-19 11:21:31

+0

我喜歡這不僅僅是wip功能。我將它與'--tags @ mytag'開關一起使用,以挑選特定的場景子集。 – phloopy 2010-06-08 01:11:54

0

嘛,一個技巧是,你可以通過設置AUTOFEATURE爲false,而不運行功能運行規格,:

export AUTOFEATURE=false 

這樣,直到他們都是綠色的,然後設置AUTOFEATURE回到真正的你可以運行你的規格並讓你的功能運行,當他們都通過你可以重構。

0

我不會使用autotest或autospec運行功能,而是定期手動運行它們。黃瓜特徵不像rspec測試那麼聰明,並且會運行最小的變化。 TDD一切都很好,但它應該能夠加快速度,而不是放慢速度。

因此,我跑:

在一個窗口
./spec/autospec 

,並

cucumber --tags @wip 
1

如果您的cucumber.yml文件中有autotest配置文件,autospec將使用該文件而不是默認配置文件。

我用這樣的運行@wip任務:

autotest: --format pretty --tags @wip:3 --wip features 

這基本上說:「跑前三個場景標記@wip」。

如果您希望在運行整個套件時(通常在紅色=>綠色轉換之後)出現與autospec不同的行爲,則還可以添加autotest-all配置文件。下面是一個簡單的例子,讓你開始:

autotest-all: --require features --format pretty 
+0

謝謝,我會試試看。 – 2010-06-18 11:04:25