我正在尝试使用Aruba来测试使用命令行界面的gem,遵循以下模式:https://github.com/radar/guides/blob/master/gem-development.md
我收到了这个错误:
Scenario: # features/prob1.feature:6
Given I run `euler prob1 10 3 5` # aruba-0.5.3/lib/aruba/cucumber.rb:60
No such file or directory - euler (Aruba::LaunchError)
features/prob1.feature:7:in `Given I run `euler prob1 10 3 5`'
Then the output should contain "23" # aruba-0.5.3/lib/aruba/cucumber.rb:97
我也在使用Thor。
这是我的文件/lib/euler/cli.rb:
require 'thor'
require 'euler'
module Euler
class CLI < Thor
desc "prob1 ITEM1 ITEM2 ITEM3", "finds the sum of numbers under ITEM1 that are multiples of ITEM2 or ITEM3"
def prob1(upper_limit, num1, num2)
puts Euler::Prob1.new(upper_limit, num1, num2).sum
end
end
end
文件/lib/euler.rb:
require "euler/version"
require "euler/prob1"
module Euler
# Your code goes here...
end
我在env.rb的Before块中更改了aruba工作目录 没有成功。
我的“Foodie”黄瓜测试运行得很好,但是这个宝石和我一直在研究的其他宝石显示出相同的Aruba :: LaunchError。就我所知,Foodie和Euler的设置看起来是一样的。
关于我还能做些什么来解决这个问题的任何想法?
谢谢!
编辑:这是功能定义:
Feature: Prob1
In order to solve the Euler Project Problem 1
As a CLI
I want 3 numbers- upper limit, and the 2 divisors
Scenario:
When I run `euler prob1 10 3 5`
Then the output should contain "23"
答案 0 :(得分:0)
我遵循了同样的指南。您应该检查是否已创建bin/euler
,并且有权运行。注意脚本euler
不应该有文件扩展名。