Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在沙箱中的服务器上运行JavaScript代码_Javascript_Ruby On Rails_Heroku_Sandbox_Sandbox Solution - Fatal编程技术网

在沙箱中的服务器上运行JavaScript代码

在沙箱中的服务器上运行JavaScript代码,javascript,ruby-on-rails,heroku,sandbox,sandbox-solution,Javascript,Ruby On Rails,Heroku,Sandbox,Sandbox Solution,我希望学生向我们的服务器提交JavaScript代码。然后我们测试JavaScript代码以确保学生解决了问题。我想测试抛出的异常、输出、返回的内容、执行时间、单个变量和调用的函数 我们在Heroku中运行RubyonRails,但我很乐意安装一个node.js/io.js服务器来运行JavaScript代码,让我们的RubyonRails代码只发送用户提交的代码,等待用户提交的代码成功或出现问题的响应,然后回复用户 最好的解决方案是什么?当然,我还需要有一个超时,以确保而(true)不会引起问

我希望学生向我们的服务器提交JavaScript代码。然后我们测试JavaScript代码以确保学生解决了问题。我想测试抛出的异常、输出、返回的内容、执行时间、单个变量和调用的函数

我们在Heroku中运行RubyonRails,但我很乐意安装一个node.js/io.js服务器来运行JavaScript代码,让我们的RubyonRails代码只发送用户提交的代码,等待用户提交的代码成功或出现问题的响应,然后回复用户


最好的解决方案是什么?当然,我还需要有一个超时,以确保
而(true)
不会引起问题。

我认为一个有趣的解决方案是集成。Circleci将自动为您沙箱应用程序。您可以简单地使用run命令(例如,
节点cs_123123.js
),如果它在运行circleci时引发异常,将触发构建失败的webhook

在检查调用堆栈等方面,无论您使用什么解决方案,都会很棘手。虽然我不能给出关于这方面的具体建议,但您可以看看如何检查代码覆盖率,因为它可能非常相似。祝你好运


编辑:另外,另一个很酷的解决方案是为这些circleci构建实际设置测试用例,以自动查看输出是否正确

似乎有点过分了。我必须提交并推送学生发送的每个代码片段,然后让circleci运行测试?哦,我想象他们会自己提交代码。但是你可以让circleci自动运行分支,所以如果你在像bitbucket这样的平台上,你可以限制学生访问他们自己的分支,让circleci独立自动地对他们的代码运行测试