0

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

我正在尝试使用 factory_girl 创建一些测试数据,并且我想避免使用 .sql 文件进行插入。因此,对于没有模型的表,我试图创建一个 MyModel < ActiveRecord::Base 仅在测试环境中加载,并希望将其保存在 spec/ 文件夹中。application.rb 中的 config.autoload_paths << "spec/factories" 似乎还不够。我收到一条错误消息,说 MyModel 不是一个类。

我该怎么做呢?

谢谢

4

2 回答 2

2

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

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

于 2013-10-24T21:52:23.127 回答
1

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

于 2013-10-25T01:24:55.043 回答