我总是运行autospec
同时运行功能和RSpec,但在我的本地计算机上运行所有功能通常非常耗时。我会在提交代码之前运行每个功能。
我想在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.
我在cucumber.yml
目录中有一个config
。我在Rails根目录中也有rerun.txt
。 cucumber -h
给了我很多关于论据的信息。
如何针对标记为autospec
的功能运行@wip
?我想我可以利用config/cucumber.yml
。有个人资料定义。我可以运行cucumber -p wip
仅运行@ wip-tagged功能,但我想用autospec
执行此操作。
我很感激使用许多规范和功能文件的任何提示。
答案 0 :(得分:3)
如果您使用的是OSX,则可以尝试使用Kicker gem在文件更改时启动黄瓜:
$ kicker -e "cucumber -p wip" .
不幸的是,我不知道是否有类似的程序可以在windows / linux上执行任意文件监视
答案 1 :(得分:1)
如果您的autotest
文件中有cucumber.yml
个人资料,则autospec将使用该个人而非默认个人资料。
我正在使用这样的东西来运行@wip
任务:
autotest: --format pretty --tags @wip:3 --wip features
这基本上说:“运行用@wip标记的前三个场景。”
如果您在运行整个套件时想要与autospec不同的行为(通常在红色=>绿色转换之后),您还可以添加autotest-all
个人资料。这是一个让你入门的粗略例子:
autotest-all: --require features --format pretty
答案 2 :(得分:0)
嗯,一个提示是,您可以通过将AUTOFEATURE设置为false来运行规范而不运行功能:
export AUTOFEATURE=false
这样你可以运行你的规格,直到它们都是绿色,然后将AUTOFEATURE设置为true并让你的功能运行,当它们全部通过时你就可以进行重构。
答案 3 :(得分:0)
我没有使用autotest或autospec运行功能,而是定期手动运行它们。黄瓜的功能并不像rspec测试那样智能,并且可以进行最小的更改。 TDD一切都很好,但它应该加快速度,而不是减慢速度。
因此,我跑:
./spec/autospec
在一个窗口中,
cucumber --tags @wip