2

我总是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.ymlinconfig目录。我也有rerun.txt在 Rails 根目录下。cucumber -h给了我很多关于论点的信息。

如何autospec针对标记为 的功能运行@wip?我想我可以利用config/cucumber.yml. 有配置文件定义。我可以运行cucumber -p wip以仅运行带有@wip 标记的功能,但我想使用autospec.

对于使用许多规范和功能文件的任何提示,我将不胜感激。

4

4 回答 4

3

如果您在 OSX 上,您可以尝试在文件更改时使用Kicker gem 启动黄瓜:

$ kicker -e "cucumber -p wip" .

不幸的是,我不知道是否有类似的程序可以在 windows/linux 上进行任意文件监视

于 2010-01-18T20:11:54.283 回答
1

如果您的autotest文件中有配置cucumber.yml文件,autospec 将使用该配置文件而不是默认配置文件。

我正在使用这样的东西来运行@wip任务:

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

这基本上是说:“运行带有@wip 标记的前三个场景”。

autotest-all如果您在运行整个套件时想要与 autospec 不同的行为(通常在红色 => 绿色过渡之后),您还可以添加配置文件。这是一个粗略的示例,可以帮助您入门:

autotest-all: --require features --format pretty
于 2010-06-17T13:59:53.937 回答
0

好吧,一个提示是,您可以通过将 AUTOFEATURE 设置为 false 来运行规范而不运行特性:

export AUTOFEATURE=false

这样,您可以运行您的规范,直到它们全部为绿色,然后将 AUTOFEATURE 设置回 true 并让您的功能运行,当它们都通过时,您可以进行重构。

于 2010-01-14T08:45:13.563 回答
0

我不使用 autotest 或 autospec 运行功能,而是定期手动运行它们。Cucumber 功能不像 rspec 测试那么聪明,并且会为最小的变化而运行。TDD 一切都很好,但它应该加快速度,而不是减慢速度。

因此,我运行:

./spec/autospec

在一个窗口中,并且

cucumber --tags @wip
于 2010-01-14T09:15:30.477 回答