1

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

我们在 Heroku 中运行 Ruby on Rails,但我很高兴建立一个 node.js/io.js 服务器来运行 JavaScript 代码,让我们的 Ruby on Rails 代码简单地发送用户提交的代码,等待响应该用户提交的代码的成功或问题,然后回复用户。

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

4

1 回答 1

0

我认为一个有趣的解决方案是整合circleci。Circleci 将自动为您的应用程序沙箱化。您可以简单地将测试命令覆盖为运行命令(例如node cs_123123123123.js),如果它在运行 circleci 时引发异常,将触发构建失败的 webhook。

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

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

于 2015-03-13T23:52:11.853 回答