我正在阅读这篇指南(感谢trevorturk),它介绍了Rails中的测试数据。你可以在一个Yaml文件中定义类,然后它们会被自动加载到test
数据库中,非常酷。
但是,如果你想指定这个食谱属于哪本菜谱(或其他什么东西),该怎么办呢?
你是否应该在Yaml代码中手动指定cookbook.id
和recipe.cookbook_id
的值?(只是猜测--指南中没有显示任何这样的内容。)还是有更合适的方法?
我正在阅读这篇指南(感谢trevorturk),它介绍了Rails中的测试数据。你可以在一个Yaml文件中定义类,然后它们会被自动加载到test
数据库中,非常酷。
但是,如果你想指定这个食谱属于哪本菜谱(或其他什么东西),该怎么办呢?
你是否应该在Yaml代码中手动指定cookbook.id
和recipe.cookbook_id
的值?(只是猜测--指南中没有显示任何这样的内容。)还是有更合适的方法?
您应该使用命名的夹具(named fixtures),这些夹具会在您未提供id号码时自动生成一个。这些id号码本质上是您使用的任何字符串的整数哈希值。如果引用了命名版本,请不要添加"_id"。
# recipes.yml
chicken_soup:
cookbook: my_recipes
# cookbooks.yml
my_recipes:
title: My Test Cookbook
# recipes.yml
chicken_soup:
cookbooks: [my_recipes, another_recipe]
client_id: <%= contacts(:dave).id %>
(显然是行不通的)。 - Skilldrickmy_cookbook: my_recipes (Cookbook)
。 - Fred Willmore