在模型文件夹之外定义模型。回报率

时间:2013-10-24 21:48:22

标签: ruby-on-rails factory-bot

我正在为我的应用编写测试,但我遇到了一个问题。我的团队只从数据库读取,从不写作,对于许多表我们没有ruby模型。这些表仅用于连接(.joins中的硬编码表名)。

我正在尝试使用factory_girl创建一些测试数据,我想避免使用.sql文件进行插入。因此,对于没有模型的表,我试图创建一个MyModel< ActiveRecord :: Base只能在测试环境中加载,并希望将其保存在spec /文件夹中。它看起来不像config.autoload_paths<< application.rb中的“spec / factories”就足够了。我得到一个错误,说MyModel不是一个类。

我将如何做到这一点?

谢谢

2 个答案:

答案 0 :(得分:2)

您可能有一个test_helper或spec_helper类,您可以在其中要求测试文件。否则,您可以直接从任何测试需要它。

避免在application.rb中加载这些文件,因为那里所需的文件也会在开发和生产环境中加载。

答案 1 :(得分:1)

spec/support中的文件(和文件夹)由spec_helper自动加载,您可以创建一个spec/support/fake_models文件夹并将假冒模型放在那里。