java - 当您在嵌入式 JRuby 中执行 Ruby 脚本时,您可以使用 gems 吗?

标签 java ruby jruby jruby-java-interop

碰巧我需要对这个 Ruby script 进行单元测试.这是一个Sinatra基于 web 应用程序,使用多个 gem。

我在 Java 方面比在 Ruby 方面有更多的经验,时间非常重要(优雅不是),所以我想我可能会更快,如果我在 JUnit 类中执行该脚本并模拟它依赖的所有子系统(网络服务器、数据库)。这样我就可以使用我的 Java 技能来测试 Ruby 系统。它looks就像您可以将 Ruby 嵌入到 Java 程序中一样。

问题:我可以在嵌入式 Ruby 中使用 gems 吗? e.创建一个可以在任何 机器(Windows、Linux、Mac)上执行测试并且不需要我在上面手动安装多个 gem 的 Java 程序?如果是,如何?

注意:它们需要是真正的 gem ,模拟就可以了。

更新 1 (25.01.2017 13:14):一个明显的解决方案是将该脚本的逻辑提取到一个单独的 Ruby 文件中,没有依赖项。这可能是代码的 80%。然后即使没有 gem,我也可以测试该逻辑文件。

最佳答案

我假设您正在使用 JRuby。检查thisthis出去。有了这个,也许您可​​以做相反的事情并从 Jruby 本身内部使用 Junit。

关于java - 当您在嵌入式 JRuby 中执行 Ruby 脚本时,您可以使用 gems 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41847921/

相关文章:

java - 在 Java Swing 中计算 JPanel 中两点之间路径的算法

ruby-on-rails - GoDaddy 的通配符域名

ruby - 在resque中查找时间表 - ruby

ant - 在Jruby Rake的Ant集成中,处理ant的xml namespace 支持的策略

java - 当文件位于java项目中时,如何用Java读取excel文件?

java - ListSelectionListener 将无法正常工作

java - Android WebChrome 客户端在浏览器而不是 WebView 中提示/打开链接

arrays - Ruby - 数组交集(有重复项)

java - 如何使用 jruby 来使用类声明

Ruby 中的 Java 兼容 REST 客户端