我正在用Aruba测试一个宝石。我的问题是,即使我在bin目录中没有任何东西,当我运行'executable‘的步骤也会过去。这是一个场景。
Scenario: Send SMS
When I run `serialsms`
Then message should be sent功能/支持/env.rb
$LOAD_PATH.push File.join(File.dirname(__FILE__), "/../../lib" )
ENV['PATH'] = "#{File.expand_path(File.dirname(__FILE__) + '/../../bin')}#{File::PATH_SEPARATOR}#{ENV['PATH']}"
require 'serial_sms'
require 'aruba/cucumber'黄瓜产量
Scenario: Send SMS # features/send_sms_cli.feature:7
When I run `serialsms` # aruba-0.4.9/lib/aruba/cucumber.rb:56
Then message should be sent # features/send_sms_cli.feature:9
1 scenario (1 undefined)
2 steps (1 undefined, 1 passed)
0m0.123s
You can implement step definitions for undefined steps with these snippets:
Then /^message should be sent$/ do
pending # express the regexp above with the code you wish you had
end这是阿鲁巴的正常行为,还是我做错了什么。
发布于 2012-01-13 18:22:52
如果您在特性定义之前添加@announce钩子,您可以获得一些关于aruba正在做什么的扩展信息。
特别值得一提的是,aruba为自己创建一个tmp目录,复制你的源码等等,做了很多古怪的事情。然而,这可能不是你的问题。
IIRC的步骤定义
When I run "foo"不会失败,因为它没有断言或匹配器。你需要在它后面加上类似这样的东西
Then it should pass ....获取失败的测试(检查退出代码、发送到STD(OUT|ERR)等)
https://stackoverflow.com/questions/8454826
复制相似问题