我有一些方法可以调用System.exit()某些输入.不幸的是,测试这些情况会导致JUnit终止!将方法调用放在新线程中似乎没有帮助,因为System.exit()终止JVM,而不仅仅是当前线程.是否有任何常见的处理方式?例如,我可以替换存根System.exit()吗?
[编辑]有问题的类实际上是一个命令行工具,我试图在JUnit中测试.也许JUnit根本不适合这份工作?建议使用补充回归测试工具(最好是与JUnit和EclEmma完美集成的东西).
我正在考虑构建一个简单的在线服务,人们可以通过以源代码的形式将解决方案提交到我的服务器来解决编程练习,然后对其进行解释/编译和执行/测试.
通过使用Java VM,我可以提供对Java,Scala,Clojure,Ruby,Python和Javascript的支持.但是当我仔细考虑它时,恐怕我不知道如何限制脚本的资源和权限.
我的意思是它不应该
如何将每个脚本放在沙箱中?
从我读过的内容来看,SecurityManager似乎无法完成所有这些......