【问题标题】:rails functional test轨道功能测试
【发布时间】:2010-12-04 04:46:07
【问题描述】:

在 Rails 自动生成的功能测试 (test/functional/products_controller_test.rb) 中,我看到以下代码:

class ProductsControllerTest < ActionController::TestCase
  setup do
    @product = products(:one)
    ...
  end

  ...some tests here... 
end

我的问题是:

  1. 方法调用products()在哪里/如何定义?

  2. products(:one) 究竟是什么意思?看代码,大概意思是“创造一个产品”,但它是如何工作的呢?

注意我是 Ruby/Rails 的新手,如果这些是微不足道的问题,我深表歉意。

【问题讨论】:

    标签: ruby-on-rails ruby functional-testing


    【解决方案1】:

    如果您查看 test/fixtures 文件夹,您会看到 products.yml 文件。这是在您创建模型时自动生成的。在您的测试文件中,products(:one) 指的是该文件中标记为“one”的产品。夹具会自动加载到数据库中进行测试,并创建 products() 方法作为这些对象的便捷访问器。

    您可以根据需要直接在 yml 文件中添加自己的夹具对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-21
      • 1970-01-01
      • 1970-01-01
      • 2020-09-15
      • 1970-01-01
      • 2018-12-24
      • 1970-01-01
      相关资源
      最近更新 更多