Запуск кода JavaScript на сервере в песочнице

Я хочу, чтобы студенты отправляли код JavaScript на наш сервер. Затем мы тестируем этот код JavaScript, чтобы убедиться, что студенты решили проблему. Я хочу проверить наличие исключений, вывод, что возвращено, время выполнения, отдельные переменные и функции, которые были вызваны.

Мы запускаем Ruby on Rails в Heroku, но я рад установить сервер node.js/io.js для запуска кода JavaScript и сделать так, чтобы наш код Ruby on Rails просто отправлял пользовательский код, ожидая ответа для успех или проблемы с этим предоставленным пользователем кодом, а затем ответить пользователю.

Каково лучшее решение для этого? Конечно, мне нужен тайм-аут, чтобы убедиться, while (true)не вызывает проблем.

1 ответ

Я думаю, что интересным решением будет интеграция кругов. Circleci автоматически выберет приложения для вас. Вы можете просто переопределить тестовые команды как команду запуска (например, node cs_123123123123.js), и, если он выдает исключение во время запуска circleci, вызовет сбойный веб-крючок.

С точки зрения проверки стека вызовов и так далее, это будет непросто, какое бы решение вы ни использовали. Хотя я не могу дать конкретный совет по этому поводу, вы могли бы взглянуть на то, как Стамбул проверяет покрытие кода, потому что оно, вероятно, будет очень похоже. Удачи!

Редактировать: Кроме того, еще одним классным решением было бы просто настроить тестовые случаи для этих сборок окружности, чтобы автоматически видеть, верен ли вывод

Другие вопросы по тегам