Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 夹具文件的用途是什么?_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 夹具文件的用途是什么?

Ruby on rails 夹具文件的用途是什么?,ruby-on-rails,ruby,Ruby On Rails,Ruby,脚手架生成器创建了一个包含上述代码行的YML文件。 我的一般理解是,测试夹具只是测试模型初始内容的规范。如果我可以在模型中进行如下验证: one: title: MyString description: MyText image_url: MyString price: 9.99 two: title: MyString description: MyText image_url: MyString price: 9.99 为什么有两个测试文件?这不会导致两

脚手架生成器创建了一个包含上述代码行的YML文件。 我的一般理解是,测试夹具只是测试模型初始内容的规范。如果我可以在模型中进行如下验证:

one:
  title: MyString
  description: MyText
  image_url: MyString
  price: 9.99

two:
  title: MyString
  description: MyText
  image_url: MyString
  price: 9.99
为什么有两个测试文件?这不会导致两种验证之间的混淆吗?我认为我想得太多了,不理解整个测试概念,但我似乎无法得到关于YML文件的清晰解释

我是Rails的新手,所以请容忍我XD


非常感谢你

不,夹具文件包含该模型对象的表示。因此,您可以在测试中使用它们,而无需手动创建新对象。看看:@SergioAristizábal哦,哇,这就解释了。我走得太远了。我想我有些困惑,部分原因是YML文件将对象的默认名称设置为1和2。我不知道它是从哪里来的。谢谢你的解释,塞吉奥!
class Product < ActiveRecord::Base
  validates :title, :description, :image_url, presence: true
  validates :title, length: {minimum: 10}
  validates :price, numericality: {greater_than_or_equal_to: 0.01}
  validates :title, uniqueness: true
  validates :image_url, allow_blank: true, format: {
    with: %r{\. (gif|japg|png)\Z}i,
    message: 'must be a URL for GIF, JPG or PNG image.'
  }
end