Rails,有没有办法从现有控制器生成单元测试及其中定义的方法?

时间:2016-08-01 14:56:01

标签: ruby-on-rails unit-testing

我想知道是否有一个脚本可以接受现有代码库并为控制器中的每个方法生成单元测试。默认情况下,所有都将通过,因为它们将是空的,我可以删除测试我的方法,我觉得不重要。

这将节省大量时间并增加测试。因为我只需要定义每个方法应输出的内容而不是需要编写的样板文件。

1 个答案:

答案 0 :(得分:1)

你真的不应该这样做。创造无意义的测试是你不想要的技术债务。花一些时间,浏览每个控制器并为每种方法编写一个测试(或最好是几个)。从长远来看,你会感谢自己。

然后,您还可以使用测试覆盖率工具来查看哪些位仍需要测试。

您可以使用共享测试来避免重复。因此,例如使用rspec,您可以将以下内容添加到spec_helper / rails_helper

def should_be_ok(action)
  it "should respond with ok" do
    get action.to_sym
    expect(response).to be_success
  end
end

然后在您的controller_spec

describe UserController do
  should_be_ok(:index)
  should_be_ok(:new)
end