我使用Rails 3,machinist 2,cucumber和rspec所有在一起,并有两个blueprints.rb文件。一个在spec目录中,另一个在features/support目录中。可以黄瓜和rspec使用相同的blueprints.rb文件
只有一个blueprints.rb文件是一个好主意吗?
如果是,那么设置它的首选方法是什么?
与此同时,我只是将我的功能/支持/ blueprints.rb文件符合spec/blueprints.rb这可能是不好的,但它适用于我。
我使用Rails 3,machinist 2,cucumber和rspec所有在一起,并有两个blueprints.rb文件。一个在spec目录中,另一个在features/support目录中。可以黄瓜和rspec使用相同的blueprints.rb文件
只有一个blueprints.rb文件是一个好主意吗?
如果是,那么设置它的首选方法是什么?
与此同时,我只是将我的功能/支持/ blueprints.rb文件符合spec/blueprints.rb这可能是不好的,但它适用于我。
我有这样的功能,内部/支持
文件名machinist.rb
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
它肯定听起来很健全 - 我们这样做是为了共享灯具和帮手(但我不使用机械师)。
你可能需要做的是在你的cucumber env和rspec helper文件中包含这样的一行。这样做是将包含blueprints.rb文件的目录放在Ruby包含文件的路径列表顶部。
$: << File.expand_path(File.join(File.dirname(__FILE__), "..","..","shared","directory"))
#require 'blueprints' will now look in the above directory first
的“..‘’..‘’共享”,‘目录’部分是从当前文件复制到共享目录下的文件blueprints.rb是相对路径。
我找到了工作,如果我只是要求“要求File.join(File.dirname(__ FILE__) “..”,“..”,“spec”,“blueprints.rb”),然后删除Sham.reset。 – map7 2011-03-07 10:48:56