辅助函数在Rails单元测试中起作用

时间:2010-08-04 13:44:14

标签: ruby-on-rails unit-testing factory-bot

我在单元测试中的代码中使用了这种代码。

test "should be awesome" do
  assert true
end

我正在使用FactoryGirl而不是灯具。

我发现我正在重复自己,并且拥有辅助函数会非常有用。在单元测试中创建和调用辅助函数的最佳方法是什么?在控制器中是否有before_filter可用(我尝试将其放入,但它只是一个未定义的方法)。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:5)

您可以毫无问题地将实用程序功能添加到单元测试中。只要你不打电话给他们,就像“test_something”那样命名,他们就不会作为单元测试运行。然后,您可以从实际的单元测试方法中调用它们(无论如何,您使用的格式归结为在类中使用方法)。

所以:

test "should be awesome" do
  assert_general_awesomeness
  assert true
end

private

def assert_general_awesomeness
  assert true
end

将在整个地方使用的实用程序方法可以放在test_helper中,它们将可用于所有测试。您也可以使用一个模块混合到您的测试中,以提供常用的实用方法。

如果您在单元测试之前进行常规调用设置,则可以使用setup方法,该方法将在课程中的每个测试之前调用。