2015-03-13 2 views
0

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

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

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

ответ

0

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

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

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

+0

Кажется огромными излишним. Мне нужно будет зафиксировать и вытолкнуть каждый фрагмент кода, который студент отправит, а затем проведет ли Circci тесты? –

+0

О, я представил себе, что они будут сами представлять код. Но у вас может быть круглый автоматический запуск ветвей, поэтому, если бы вы были на платформе, подобной bitbucket, вы могли бы ограничить доступ учащихся к своей собственной ветке и иметь окружность независимо и автоматически запускать свои тесты по их коду – jtmarmon

Смежные вопросы