1
2
一般来说,最好是在你需要的时候随时创造这些东西。fixture可能很快变得很难管理,当您在将来查看测试时,您将需要查看三个或四个fixture文件来取消单击正在发生的事情。 我建议你花点时间去看看工厂里的女孩宝石,这样你以后就可以省下很多时间了。你会这样做:
然后,在功能测试或单元测试中,您可以轻松创建具有单个测试所需的特定属性的对象:
|
2
7
我也面临同样的问题。在我做了一些尝试和错误之后,我想出了下面的方法,阅读了关于fixture、associations和@barnaclebarnes对这个问题的答案的文档。 我用的是 和 . 备注: 我先前的回答起了作用,但有点古怪。我完全重写了它后,@David指给我一个更干净的方式-完全修改我的试验和错误,并坚持解决方案。 @巴纳克巴恩斯的解决方案将提供更多的自动化,但也意味着更多的打字和簿记的身份证。所以我一直在寻找更简洁的方法。 多态关系作为可标记的 使用名为 可标记的 实现标签与不同模型之间的关系。有关 polymorphic relations 高级固定装置ActiveRecord::FixtureSet 描述ActiveRecord的工作原理以及它如何处理fixture的关系(第 关联的标签引用
在页面的下一部分,还提供了多态所属的一些详细信息。 这将允许这样的标记装置定义:
ActiveRecord::TestFixtures
提供一种方法,用于在无法推断夹具时显式设置该夹具的模型类。
要加载acts_as_taggable_的标记和标记的测试数据,我们可以将它们的fixture放在子文件夹中
把它们放在一起
如果您将yaml文件打包,这将允许对可标记模型及其实例进行非常低的维护定义。 |
3
5
然后设置标记(在fixture文件taggings.yml中):
基本上
|
4
1
使用:标记列表对我不起作用:
我还发现,这需要在父级工厂,因为某些原因,它不工作的孩子。我也发现打电话
不会抛出错误,但它不会悄悄地创建标记。 希望这有帮助! |
5
0
这就是我添加标记的方式(使用
当我想创建一个
但是当我想创造一个
而且效果很好。 |
6
0
你用的是FactoryGirl,你可以这样创建它们:
|
Castor Duran · 跳过例外原则迁移 7 年前 |
Lynoure · Django测试在添加一个测试用例后未能安装夹具 7 年前 |
Vinz243 · Ember固定装置不工作 10 年前 |