Запуск кода JavaScript на сервере в песочнице
Я хочу, чтобы студенты отправляли код JavaScript на наш сервер. Затем мы тестируем этот код JavaScript, чтобы убедиться, что студенты решили проблему. Я хочу проверить наличие исключений, вывод, что возвращено, время выполнения, отдельные переменные и функции, которые были вызваны.
Мы запускаем Ruby on Rails в Heroku, но я рад установить сервер node.js/io.js для запуска кода JavaScript и сделать так, чтобы наш код Ruby on Rails просто отправлял пользовательский код, ожидая ответа для успех или проблемы с этим предоставленным пользователем кодом, а затем ответить пользователю.
Каково лучшее решение для этого? Конечно, мне нужен тайм-аут, чтобы убедиться, while (true)
не вызывает проблем.
1 ответ
Я думаю, что интересным решением будет интеграция кругов. Circleci автоматически выберет приложения для вас. Вы можете просто переопределить тестовые команды как команду запуска (например, node cs_123123123123.js
), и, если он выдает исключение во время запуска circleci, вызовет сбойный веб-крючок.
С точки зрения проверки стека вызовов и так далее, это будет непросто, какое бы решение вы ни использовали. Хотя я не могу дать конкретный совет по этому поводу, вы могли бы взглянуть на то, как Стамбул проверяет покрытие кода, потому что оно, вероятно, будет очень похоже. Удачи!
Редактировать: Кроме того, еще одним классным решением было бы просто настроить тестовые случаи для этих сборок окружности, чтобы автоматически видеть, верен ли вывод