Ruby on rails 在RubyonRails开发中使用Cucumber传递autospec中的选项
我总是运行Ruby on rails 在RubyonRails开发中使用Cucumber传递autospec中的选项,ruby-on-rails,ruby,rspec,cucumber,autotest,Ruby On Rails,Ruby,Rspec,Cucumber,Autotest,我总是运行autospec来同时运行features和RSpec,但是在本地计算机上运行所有的功能通常很耗时。我会在提交代码之前运行每个特性 我想在autospec命令中传递参数autospec显然不直接接受参数。以下是autospec-h的输出: autotest [options] options: -h -help You're looking at it. -v Be verbose. Prints fil
autospec
来同时运行features和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.
我在config
目录中确实有一个cucumber.yml
。我在Rails根目录中还有rerun.txt
cucumber-h
为我提供了很多关于参数的信息
如何针对标记为@wip
的功能运行autospec
?我想我可以使用config/cumber.yml
。有配置文件定义。我可以运行cucumber-p-wip
来只运行@wip标记的特性,但我想用autospec
来实现这一点
我希望您能给我一些使用许多规范和功能文件的提示。好吧,有一个提示是,您可以在不运行功能的情况下运行规范,方法是将AUTOFEATURE设置为false:
export AUTOFEATURE=false
这样,您可以运行您的规格,直到它们全部为绿色,然后将AUTOFEATURE设置为true并运行您的功能,当它们全部通过时,您可以进行重构。我不使用autotest或autospec运行功能,而是定期手动运行它们。Cucumber特性没有rspec测试那么智能,将运行最小的更改。TDD很好,但它应该加快速度,而不是减慢速度 因此,我运行:
./spec/autospec
在一个窗口,和
cucumber --tags @wip
如果您使用的是OSX,您可以尝试在文件更改时使用gem启动cucumber:
$ kicker -e "cucumber -p wip" .
不幸的是,我不知道是否有类似的程序在windows/linux上执行任意文件监视如果在
cucumber.yml
文件中有autotest
配置文件,autospec将使用该配置文件而不是默认配置文件
我正在使用类似的东西来运行@wip
任务:
autotest: --format pretty --tags @wip:3 --wip features
这基本上是说:“运行前三个带有@wip标记的场景”
如果您希望在运行整个套件时(通常在红色=>绿色转换之后)有与autospec不同的行为,您还可以添加一个autotest all
配置文件。下面是一个粗略的示例,让您开始学习:
autotest-all: --require features --format pretty
我使用的是OS X。看起来很有前途。我喜欢这不仅仅适用于wip功能。我将它与
--tags@mytag
开关一起使用,以挑出场景的特定子集。