如何在React中使用Rails中的Jasmine?

时间:2014-10-02 19:23:22

标签: ruby-on-rails jasmine reactjs sprockets

我在我的rails应用程序中使用React没有问题。 .jsx文件正在正确编译。我可以访问使用React组件的页面。

我有Jasmine设置和测试非反应文件OK。

但是,当我尝试在我的application.js中测试引用为“./hello.js”或“./hello”的反应组件时,我得到:

  

未捕获错误:Sprockets :: FileNotFound:找不到文件'./hello.js'

回想一下,如果我只是运行rails s并访问使用该组件的页面,Sprockets会发现这一点。

为什么会发生这种情况?

1 个答案:

答案 0 :(得分:1)

简单回答:
改用jasmine-rails。 https://github.com/searls/jasmine-rails

或DIY解决方案:
忘记任何宝石。
使用standalone Jasmine html和javascript并将其添加到Rails项目中,作为仅在开发模式下呈现的视图。

通过访问页面来运行测试,只要应用程序正在运行,就可以像访问应用程序一样访问资产管道。

此外,可以在开发/测试环境中有条件地将js test / spec目录添加到资产路径中。见here。这些文件都不能在生产中访问。