如何在rails中为rake任务编写单元测试用例?

时间:2012-02-17 06:32:26

标签: ruby-on-rails unit-testing testing rake

大家好我有这种情况,我需要在我的rails应用程序中为rake任务编写单元测试用例,但我无法想办法做到这一点。有人试过吗?

2 个答案:

答案 0 :(得分:4)

你能做的就是这个..

  1. 编写将在模型或类中的rake任务上运行的逻辑。

  2. 为该模型编写单元测试。

  3. 最后在rake任务中调用该方法。

答案 1 :(得分:0)

我找到了使用rspec编写测试用例的this链接。 简短而简洁的测试用例

基本上,创建一个模块,该模块将解析rake任务的名称,并使我们可以使用关键字任务,我们可以在其上调用TimePicker

以下是创建文件的方法,

expect { task.execute }.to output("your text\n").to_stdout

在rspec初始化文件

中添加它
module TaskExampleGroup extend ActiveSupport::Concern

    included do
    let(:task_name) { self.class.top_level_description.sub(/\Arake /, "") }
    let(:tasks) { Rake::Task }

    # Make the Rake task available as `task` in your examples:
    subject(:task) { tasks[task_name] }
    end
end