gpt4 book ai didi

ruby-on-rails - 我怎样才能进行更快的测试并仍然使用 Factory Girl?

转载 作者:行者123 更新时间:2023-12-04 05:47:08 26 4
gpt4 key购买 nike

我非常喜欢使用 Factory Girl 来设置我的测试。我可以在一行中建立关联链。例如:

Factory.create(:manuscript)

自动创建期刊、期刊所有者、手稿作者等。它让我的设置 block 变得非常简单,这太棒了。

但是,这当然是有代价的。在后台创建多个对象意味着我的单元测试有时长达 0.8 秒。当您的应用程序很小时这很好,但现在我已经进行了数百次测试并且我的规范需要一分多钟才能运行(不包括应用程序启动所需的时间)。它开始感到疼痛。

我对任何过于激烈的事情都不特别感兴趣,比如 mock 一切。至少当我的应用程序相对较小时,我想保持我的工厂女孩​​抽象。我只是想找出一种方法让它们工作得更快一些。

有什么建议吗?

最佳答案

如果您正在测试对象行为并且不需要实际将它们保存到数据库中,您可以使用 Factory.build(:model)。它基本上实例化对象及其关联,但不会将其写入数据库。这将比创建和存储所有这些对象快得多。如果您仍想将部分或大部分对象写入数据库,您可以设置一个 SQlite 内存测试数据库。 Here's an example

关于ruby-on-rails - 我怎样才能进行更快的测试并仍然使用 Factory Girl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6287325/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com