Kar*_*lak 0 rspec ruby-on-rails rake-task
我在测试我的 rake 任务时遇到问题。任务如下所示:
namespace :db do
desc 'Load the seed data from db/seeds.rb'
task :seed => :environment do
puts 'seed'
end
end
Run Code Online (Sandbox Code Playgroud)
我的测试是这样的:
require 'rake'
require 'spec_helper'
RSpec.describe Rake::Task do
describe "db:seed" do
it "runs a task" do
Rake::Task['db:seed'].invoke
end
end
end
Run Code Online (Sandbox Code Playgroud)
一切看起来都不错,但我仍然收到该错误:
Run Code Online (Sandbox Code Playgroud)Failure/Error: Rake::Task['db:seed'].invoke RuntimeError: Don't know how to build task 'db:seed' (See the list of available tasks with `rake --tasks`)
最奇怪的是,通过控制台调用时,同样的任务可以工作:
> rake db:seed
seed
Run Code Online (Sandbox Code Playgroud)
一些想法?
能够通过调用任务
Rake::Task['...'].invoke
Run Code Online (Sandbox Code Playgroud)
您应该首先通过以下方式加载任务
Rails.application.load_tasks
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
748 次 |
| 最近记录: |