【发布时间】:2014-03-19 19:05:26
【问题描述】:
我有以下测试:
describe "POST 'create'" do
let(:url){ Rails.root.join('spec','files','example.git').to_s }
it "redirect" do
post 'create', repository: {url: url }
expect(response).to be_redirect
end
end
我的控制器代码:
def create
@repository = Repository.new repository_params
process_and_assign_respository_data
respond_to do |format|
if @repository.save
format.html { redirect_to @repository }
else
format.html { render action: 'new' }
end
end
end
private
def process_and_assign_respository_data
path = get_path
name = Time.now.to_i.to_s
Git.clone @repository.url, name, path: path
end
创建操作会克隆一个存储库。
测试在本地通过,但在 Travis 中中断并显示:
Failure/Error: post 'create', repository: { url: Rails.root.join('spec','files','example.git').to_s }
Git::GitExecuteError:
git clone "--" " &1:fatal: repository 'example.git' does not exist
我通过将 url 更改为 github 存储库来修复它。
有没有办法消除对 github 存储库的依赖而不破坏 Travis?
【问题讨论】:
-
请粘贴控制器方法。
标签: ruby-on-rails ruby rspec