测试配方:如何使用rails依赖项测试ruby gem

时间:2011-03-29 09:57:38

标签: ruby-on-rails unit-testing

我正在开发一种红宝石宝石,它提供了一些可以混合到ActiveRecord模型中的方法,类似于acts_as_taggable。

我的问题是:我如何写作,例如没有rails应用程序对我的代码进行单元测试?我的模特依赖于在rails建立的现有数据库/连接上。如果没有连接,则测试执行失败。

我还需要使用例如一些文件从我的gem目录复制到rails应用程序。 RAILS_ROOT检测rails app dir。环境变量也不可用。

你的方法是什么?可以在测试运行期间以某种方式“模拟”rails应用程序吗?

提前感谢任何提示。

1 个答案:

答案 0 :(得分:4)

这些天我有同样的问题: Rspec, test Gems

你会在我自己的答案中看到有趣的资源。

我最终在我的gem的测试目录中创建了一个rails应用程序。在我的应用程序的gem文件中,我用它的相对路径引用了我的宝石。

简而言之:我通过应用程序测试宝石。

查看:https://github.com/apneadiving/Google-Maps-for-Rails

我有一个带有所有Rspec测试的虚拟Rails应用程序。