我在我的rails应用程序中使用React没有问题。 .jsx文件正在正确编译。我可以访问使用React组件的页面。
我有Jasmine设置和测试非反应文件OK。
但是,当我尝试在我的application.js中测试引用为“./hello.js”或“./hello”的反应组件时,我得到:
未捕获错误:Sprockets :: FileNotFound:找不到文件'./hello.js'
回想一下,如果我只是运行rails s
并访问使用该组件的页面,Sprockets会发现这一点。
为什么会发生这种情况?
答案 0 :(得分:1)
简单回答:
改用jasmine-rails。
https://github.com/searls/jasmine-rails
或DIY解决方案:
忘记任何宝石。
使用standalone Jasmine html和javascript并将其添加到Rails项目中,作为仅在开发模式下呈现的视图。
通过访问页面来运行测试,只要应用程序正在运行,就可以像访问应用程序一样访问资产管道。
此外,可以在开发/测试环境中有条件地将js test / spec目录添加到资产路径中。见here。这些文件都不能在生产中访问。