2011-03-06 1 views
3

레일즈 3, 기계공 2, 오이, rspec을 함께 사용하고 두 개의 blueprints.rb 파일을 사용하고 있습니다. 하나는 spec 디렉토리에 있고 다른 하나는 features/support 디렉토리에 있습니다.cucumber와 rspec은 동일한 blueprints.rb 파일을 사용할 수 있습니다.

하나의 blueprints.rb 파일 만있는 것이 좋습니다.

만약 그렇다면 이것을 설정하는 기본 방법은 무엇입니까?

당분간 필자는 필자의 features/support/blueprints.rb 파일을 spec/blueprints.rb 파일에 symlink로 연결했는데, 나쁘다.하지만 그것은 나에게 잘 맞는다.

답변

5

내가 내가 난 그냥이 필요한 경우 작업있어 한

require 'machinist/active_record' 

Dir[ File.dirname(__FILE__) + "/../../spec/blueprints/*"].each {|file| require file } 

Before { Sham.reset } # to reset Sham's seed between scenarios so each run has same random sequences 
+0

기능이 내부/지원

파일 이름 machinist.rb이 ') File.join (File.dirname (__ FILE__을 요구, "..", "..", "spec", "blueprints.rb") 'Sham.reset을 삭제합니다. – map7

1

확실히 확실합니다. 우리는 공용 비품과 도우미를 위해이 작업을 수행합니다 (그러나 나는 기계공을 사용하지 않습니다).

아마도 오이의 env 및 rspec 도우미 파일에 다음과 같은 행을 포함시켜야합니다. 이 작업은 루비의 경로 목록 상단에 blueprints.rb 파일이 들어있는 디렉토리를 두어 파일을 포함 할 때 살펴 봅니다.

$: << File.expand_path(File.join(File.dirname(__FILE__), "..","..","shared","directory")) 
#require 'blueprints' will now look in the above directory first 

은 ".." "..", "공유", 당신의 blueprints.rb 파일이 공유 디렉토리에 현재 파일에서 상대 경로 인 "디렉토리"부분.