2011-02-06 44 views
5

我可能失去了一些东西,但我被困在这种情况下:Ruby on Rails的:单元测试ActiveRecord的非型号和仍然加载夹具

我有一个非ActiveRecord的模式,我想测试。我已经从其中得到了它的测试用例类:Test :: Unit :: TestCase

但是,模型的测试用例类在其自身内部使用了其他activerecord模型类,我想为它们加载fixture。我的问题是,灯具类方法只适用于当我继承从的ActiveSupport :: TestCase的(它在其中被列入的ActiveSupport :: TestCase的的ActiveRecord :: TestFixtures定义)测试用例类。

任何帮助,因为运行测试给我的错误:未定义的方法“灯具”(这是可以理解的),以及我从ActiveSupport :: TestCase派生我的测试用例类它抱怨没有相应的数据库表。此外,我不想创建一个虚拟表来支持我的模型类。

谢谢!

回答

4

您可以使用ActiveSupport::TestCase,但不要使用ActiveRecord类的类(an example - 但该项目不使用灯具),所以其他内容必须导致此问题。它必须是关于你如何使用灯具或你的灯具配置。也许,偶然的情况下,你是否有一个你正试图测试的非AR模型的夹具文件?

+1

谢谢!实际上,我将test_helper中的fixtures(:all)部分注释掉了,然后明确声明了我想要加载到非AR模型的测试类中的灯具,现在它可以工作。由于fixtures(:all)它试图连接到一个不在那里的相应数据库表,因此抛出了一个错误。 – 2011-02-06 13:16:11