Rails引擎测试

时间:2014-12-16 15:30:08

标签: ruby-on-rails ruby-on-rails-3 rails-engines

我们正在使用一个必须能够从包含应用程序访问模型和行为的rails引擎,但是因为我们在虚拟应用程序中进行测试,所以我们无法测试这些内容并最终嘲笑并且将整个世界的左半部分打断,只是为了编写简单的测试。

有没有办法,通过配置,代码或农场动物的祭祀牺牲,我可以让我们的引擎测试在包含应用程序的上下文中而不是在虚拟测试应用程序中运行?

1 个答案:

答案 0 :(得分:0)

我会采用不同的方法

  • 建立消费应用程序应该观察的界面。然后假设一个有效的应用程序总是按照它应该的方式使用你的宝石
  • 鉴于已定义的界面,使用gem的任何应用程序从gem角度看都应该是相同的。因此,拥有一个模拟应用程序来设置一个示例域,以便在gem的上下文中进行测试。不要模拟任何东西,使用实际模型创建应用程序或与引擎交互所需的任何层

如果无法定义最终如何使用它,或者您仍希望让消费者能够测试集成点,那么请提供测试助手。像rack-rest这样的东西,为机架用户提供测试基础设施。

可以在应用程序使用的任何测试框架上使用和使用它们,并且如果认为需要可以使用。