碰巧我需要对这个
Ruby script进行单元测试.这是一个基于
Sinatra的Web应用程序,它使用了几个宝石.
我在Java方面比在Ruby方面有更多的经验,时间非常重要(优雅不是),所以我想我可能会更快,如果我在JUnit类中执行该脚本并模拟它所依赖的所有子系统(Web服务器),数据库).这样我就可以使用我的Java技能来测试Ruby系统.它就像你可以在一个Java程序中嵌入Ruby一样.
问题:我可以在嵌入式Ruby中使用gem,i.即创建一个可以在任何机器(Windows,Linux,Mac)上执行测试的Java程序,并且不需要我手动在其上安装几个宝石?如果有,怎么样?
注意:它们需要是真正的宝石,嘲笑都很好.
更新1(25.01.2017 13:14):一个明显的解决方案是将该脚本的逻辑提取到一个没有依赖项的单独的Ruby文件中.这可能是代码的80%.然后,即使没有宝石,我也可以测试该逻辑文件.