Ruby on rails 我应该在测试文件中创建助手方法吗?

Ruby on rails 我应该在测试文件中创建助手方法吗?,ruby-on-rails,Ruby On Rails,如果在测试文件中创建helper方法仅适用于该文件中的测试,那么在该文件中创建helper方法是否是一种良好的做法? 例如,在: 测试/集成/后索引测试.rb 在一些测试中,我定义了仅适用于此文件中的测试的帮助器方法: require 'test_helper' class PostIndexTest < ActionDispatch::IntegrationTest test 'some test' do this_file_specific_helper_method

如果在测试文件中创建helper方法仅适用于该文件中的测试,那么在该文件中创建helper方法是否是一种良好的做法? 例如,在:

测试/集成/后索引测试.rb

在一些测试中,我定义了仅适用于此文件中的测试的帮助器方法:

require 'test_helper'

class PostIndexTest < ActionDispatch::IntegrationTest
  test 'some test' do
    this_file_specific_helper_method
  end

  def only_this_file_specific_helper_method
    # method body
  end
end
需要“测试助手”
类PostIndexTest
我可以这样做,还是应该避免。如果没有,我应该把这个方法放在哪里。通用的

test/test_helper.rb


档案?我应该创建一个单独的文件吗?或者我的设计有问题,我根本不需要这种方法?

是的,您可以在测试文件中使用帮助器方法。我不明白为什么不。如果该方法执行的例程将在该特定测试中多次使用,那么使用私有帮助器方法将是一个不错的选择。

是的,您可以在测试文件中使用帮助器方法。我不明白为什么不。如果该方法执行一个您将在该特定测试中多次使用的例程,那么使用私人助手方法将是一个不错的选择。

我希望有人能回答这个问题,因为我创建了一个应用程序,它基本上需要登录到我公司使用的每个页面(但登录页面除外),我想知道是否有什么方法可以编写一个助手方法来轻松调用登录。您可以在控制器中使用带有助手方法的before_action filter来检查用户是否登录,如果没有,则重定向到登录页面。我的问题只是关于测试助手的方法。我也是。我希望有人能回答这个问题,因为我已经创建了一个应用程序,它基本上需要登录到我公司使用的每个页面(除了登录页面),我想知道是否有什么方法可以编写一个助手方法来轻松调用登录。您可以在控制器中使用带有助手方法的before_action filter来检查用户是否登录,如果没有,则重定向到登录页面。我的问题只是关于测试辅助方法,我的问题也是。。