测试配方:如何使用轨道相关性测试红宝石

问题描述:

我正在开发一个红宝石宝石,它提供了一些可以混合到ActiveRecord模型中的方法,类似于例如。 acts_as_taggable。测试配方:如何使用轨道相关性测试红宝石

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

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

你会怎样做?在测试运行期间,某款Rails应用程序可以“模拟”吗?

在此先感谢您的任何提示。

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

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

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

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

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

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

+0

谢谢!在此期间我发现了这些资源:http://*.com/questions/2086578/proper-way-of-testing-gems,http://*.com/questions/722918/testing-ruby-gems-under-轨道。两者都提供了一些解决方案,但没有提供我正在寻找的解决方案。在测试文件夹内创建应用程序只有一个,但感觉(IMO)有点过载;-) – auralbee 2011-03-29 11:25:29