2014-12-31 2 views
4
에서 루비 2.x에서 작업 오이를 가져올 수 없습니다

나는 오이를 실행하면, 나는 다음과 같은 메시지를 얻을 :윈도우

*** WARNING: You must use ANSICON 1.31 or higher (http://adoxa.110mb.com/ansicon) to get coloured output on Windows 
Warning: you should require 'minitest/autorun' instead. 
Warning: or add 'gem "minitest"' before 'require "minitest/autorun"' 
From: 
    C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/cucumber-1.2.1/lib/cucumber/core_ext/disable_mini_and_test_unit_autorun.rb:3:in `<top (required)>' 
    C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/cucumber-1.2.1/lib/cucumber/runtime.rb:21:in `initialize' 
    C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/cucumber-1.2.1/lib/cucumber/cli/main.rb:40:in `new' 
    C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/cucumber-1.2.1/lib/cucumber/cli/main.rb:40:in `execute!' 
    C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/cucumber-1.2.1/lib/cucumber/cli/main.rb:20:in `execute' 
    C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/cucumber-1.2.1/bin/cucumber:14:in `<top (required)>' 
    C:/RailsInstaller/Ruby2.1.0/bin/cucumber:23:in `load' 
    C:/RailsInstaller/Ruby2.1.0/bin/cucumber:23:in `<main>' 
MiniTest::Unit::TestCase is now Minitest::Test. From  C:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/test/unit/testcase.rb:8:in `<module:Unit>' 
undefined method `_run_suite' for class `Test::Unit::Runner' (NameError) 
C:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/test/unit.rb:676:in `<class:Runner>' 
C:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/test/unit.rb:261:in `<module:Unit>' 
C:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/test/unit.rb:15:in `<module:Test>' 
C:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/test/unit.rb:7:in `<top (required)>' 
C:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
C:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/cucumber-1.2.1/lib/cucumber/core_ext/disable_mini_and_test_unit_autorun.rb:25:in `<top (required)>' 
C:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
C:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/cucumber-1.2.1/lib/cucumber/runtime.rb:21:in `initialize' 
C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/cucumber-1.2.1/lib/cucumber/cli/main.rb:40:in `new' 
C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/cucumber-1.2.1/lib/cucumber/cli/main.rb:40:in `execute!' 
C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/cucumber-1.2.1/lib/cucumber/cli/main.rb:20:in `execute' 
C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/cucumber-1.2.1/bin/cucumber:14:in `<top (required)>' 
C:/RailsInstaller/Ruby2.1.0/bin/cucumber:23:in `load' 
C:/RailsInstaller/Ruby2.1.0/bin/cucumber:23:in `<main>' 

bundle list 나에게 제공합니다

DL is deprecated, please use Fiddle 
Gems included by the bundle: 
    * builder (3.2.2) 
    * bundler (1.7.7) 
    * cucumber (1.2.1) 
    * diff-lcs (1.1.3) 
    * gherkin (2.11.8) 
    * json (1.8.1) 
    * minitest (4.7.5) 
    * multi_json (1.10.1) 
    * rspec-expectations (2.11.2) 

에 비슷한 질문에 기반을 스택 교환, 나는 다음과 같은`features \ support \ env.rb '을 가지고있다 :

require 'minitest' 
module MiniTestAssertions 
    def self.extended(base) 
    base.extend(MiniTest::Assertions) 
    base.assertions = 0 
    end 

    attr_accessor :assertions 
end 
World(MiniTestAssertions) 

큐를 얻는 다음 단계는 무엇인가? umber working?

편집 :

나는 (어떤 기능이 정의되지 않도록 경고를 얻을 것으로 예상) 완전히 비어있는 디렉토리에 오이를 실행했지만, 정확히 같은 메시지 도착했습니다 minitest에 대한 경고에 대한 다음 오류를 undefined method '_run_suite'. 나는 이것에 대해 웹 중 하나 (내가 사용하지 않는 한) 레일 관련하거나 수정되었습니다 오래된 문제를 말한다에서 찾을 수 Evertyhing, 그래서 나는 완전히 고립 됐어요. :(

+0

당신은 Minitest 또는 RSpec에와 테스트하려고합니까?(당신도 Cucumber를 사용할 수 있지만, RSpec의 전형적으로 Minitest는 필요하지 않습니다.) – joelparkerhenderson

+0

RSpec을 선호하지만, 아직 선택의 여지가없는 것 같습니다! (저는 The Cucumber Book의 지침을 따르고 있습니다. 2.x 대신 Ruby 1.9를 사용하는 다른 컴퓨터에서 잘 작동했습니다). RSpec을 사용하도록 설득하려면 어떻게해야합니까? – digitig

답변

0

이 운동을 통해 진행을 위해 루비 1.9을 사용할 수 없습니다 어떤 이유

The Cucumber Book의 최신 버전

- 버전 3.0 - 루비 1.9.3이 가장 prevalently 때 3 월 2014 년 출시 된 사용 루비 버전.

책의 코드는

저자는/pragprog이 책의 새로운 버전을 가지고 올 수 있습니다. (Appendix 2 - Installing Cucumber 절에서 언급 한 바와 같이) ruby 1.9.3-p194 테스트되었고, 그 시간에 그들은 것이다 책의 코드가 ruby 2.2 또는 그 다음에 m으로 작동하는지 확인하십시오. 일반적으로 사용되는 루비 버전.

이 예제를 ruby 2.0 이상의 버전에서 작동시키는 방법을 알아낼 수는 있지만, 현재로서는 걱정할 필요가없는 두통입니다. 이제 오이에 대해 배우기 시작 했으므로 권장하는 버전에 따라 책의 텍스트를 따라하는 것이 가장 좋습니다. 내가 찾는 이유

오이, 그리고 루비 세계의 다른 구성 요소에 익숙해 후, 감사합니다 "나는 RSpec에를 사용하도록 설득하려면 어떻게합니까?" 매우 우스운 이야기. :-)

아시다시피
+0

저는 Ruby 1.9.3에서 실제로 오이를 거의 1 년 동안 사용해 왔습니다. 하지만 저는 다른 컴퓨터에서 Ruby 2.x를 사용하고 있으며 The Cucumber Book으로 돌아가서 초기 오이 설정을 설정하는 방법에 대한 나의 기억을 새롭게했습니다. 네, Cucumber와 RSpec이 다른 역할을 수행하고 있음을 알고 있습니다. 그러나 내가 잘못 알고있는 것은 minitest입니다. 이것은 내가 오쿠보다 RSpec에 가까운 함수를 수행한다는 것을 이해합니다. – digitig

-1

, 개발 환경의 구성은 지루하고 오류가 발생하기 쉬운 작업입니다. 필자는 VirtualBox 또는 Windows 용 Docker를 사용하여 Windows 상자에서 얻을 수있는 * nix 형식 환경에서 작업하는 것을 선호합니다.

Windows 용 Docker 구성을 시작하고 실행할 수있는 경우 Docker는 사전 구성된 환경/배포를 공유/재사용하기 때문에 문제를 신속히 해결하는 것이 가장 좋습니다. 실시간 보호기! 이미 어느 구성 요소가 설치되어 있는지 확인할 수있는 훌륭한 Dockerfile 구성이 있습니다. 참조 : thisthat.

BTW, 당신은 RSpec에 사용을 선호하는 경우 minitest (누가? 않을 것이다), 당신은 " 'minitest을'필요 '하지 않는 몇 가지 예제 코드를 사용하는 것이 좋습니다 이상. 당신은 현재 예를 작동 얻을 관심이 있다면, 당신은 " 'minitest/자동 실행'을 요구"하는 오류 메시지에 의해 주어진다 아이디어를 즐겁게 있습니다. 나는 그것이 당신을 돕기를 바랍니다 - 행운을 빌어 요!

+0

Windows에서 작동해야합니다. OS 변경 (또는 VM에서의 실행)은 옵션이 아닙니다. 그리고 네,''minitest/autorun'을 요구했습니다. – digitig

+0

Dockerfiles를 조사하여 올바른 구성 요소 집합에 대한 아이디어를 얻었습니까? 내가 한 가지 다른 대답은 기본적으로 당신이 원하는 것을하지 않는다는 것을 제시하면서 가능한 한 (당신이 제약을 언급하지 않았다는 것을 고려할 때) 주어진 것을 제공하기 위해 여기에서 downvoted되는 것이 얼마나 좋은가. – unigeek

+0

내가 알 수있는 한 Docker도 가상 머신이므로 아무런 해결책이 아닙니다. 내 명시된 질문은 * Windows *에서; 다른 OS를 사용하는 것은 아무런 해답이 아닙니다. (하지만 루비 설정에 문제가 생길 때마다 나는 귀찮아합니다.) 두 가지 대답은 실제로 내 질문에 대답하지만, 다른 질문은 내가 2.x 작업을 할 수 없다면 내가/할 수있는/할 수있는 일이다. 당신의 대답은 아닙니다. 정상적으로 downvote를 낳지는 않았지만 StackOverflow가 현상금을 자동으로 할당 하려다가 첫 번째 대답이 더 가치가 있었고 더 좋은 방법으로 지시하는 방법을 알 수 없었습니다. – digitig