在沙盒中的服务器上运行 JavaScript 代码
Running JavaScript code on the server in a sandbox
我希望学生向我们的服务器提交JavaScript代码。然后我们测试JavaScript代码,以确保学生解决了问题。我想测试抛出的异常、输出、返回的内容、执行时间、调用的单个变量和函数。
我们在 Heroku 中运行 Ruby on Rails,但我很高兴建立一个 node.js/io.js 服务器来运行 JavaScript 代码,并让我们的 Ruby on Rails 代码简单地发送用户提交的代码,等待用户提交代码的成功或问题响应,然后回复用户。
最好的解决方案是什么?当然,我还需要超时以确保while (true)
不会引起问题。
我认为一个有趣的解决方案是集成 circleci。Circleci将自动为您沙盒化应用程序。您可以简单地将测试命令覆盖为运行命令(例如 node cs_123123123123.js
),如果在运行 Circleci 时抛出异常,则会触发构建失败的 Webhook。
在检查调用堆栈等方面,无论您使用哪种解决方案,都会很棘手。虽然我不能就此给出具体建议,但您可以看看伊斯坦布尔如何检查代码覆盖率,因为它可能非常相似。祝你好运!
编辑:此外,另一个很酷的解决方案是实际上只是为这些circleci构建设置测试用例,以自动查看输出是否正确
相关文章:
- 在终端中运行 JavaScript 时(使用 rhino),如何使用 print() 函数在一行中打印
- 向下滚动时运行javascript
- 在Android WebView中运行Javascript-onPageFinished循环
- 在父网页的iframe中运行JavaScript
- 有条件地运行javascript函数-Razor,HTML
- 如何通过获取用户输入和使用按钮来运行JavaScript函数
- 使用c#在Web服务器上运行JavaScript方法
- 单击链接时停止运行javascript
- 在浏览器检查表单之前运行javascript onsubmit
- 如何在表单提交事件后运行JavaScript*
- Mediawiki小部件将不会运行javascript
- 有没有一种方法可以在服务器端页面加载之前在加载时运行javascript
- 在GitHub上运行JavaScript Koans
- Chrome扩展:是否有一种方法可以运行JavaScript来获取页面上的内部html,并将其保存到扩展中的变量中
- 在不加载页面的情况下运行javascript
- [AutoIt]如何使用FF.au3在FireFox上的页面中运行javascript
- 仅在屏幕媒体上运行javascript/jquery,而不是打印
- Scala提升了如何运行javascript函数并将返回值存储在变量中
- 安卓系统:通过loadUrl运行javascript时,网络视图中的视频会冻结
- 在页面加载完成之前,使用URL参数运行JavaScript