Мне нужно создать интерфейс скриптов для моей программы на С#, которая проверит системное тестирование встроенной прошивки.
Мое приложение содержит библиотеки для полного взаимодействия с устройствами. Существуют отдельные библиотеки для инициирования действий, получения результатов и отслеживания успеха/сбоя. Мое приложение также имеет графический интерфейс для управления несколькими устройствами и назначение множества сценариев для запуска.
Для тестировщиков (не программистов, но технических) мне нужно предоставить интерфейс сценариев, который позволит им придумать разные сценарии для тестирования и запуска их. Они просто собираются вызывать мои API-интерфейсы, а затем возвращать результат в мою программу (pass/fail и message).
Самый простой пример того, что я хочу:
TURN_POWER_ON
TUNE_FREQUENCY frequency
WAIT 5
IF GET_FREQUENCY == frequency
REPORT_PASS "Successfully tuned to " + frequency
ELSE
REPORT_FAIL "Failed to tune to " + frequency
ENDIF
TURN_POWER_OFF
Где функции отчетности, мощности и частоты предоставляются моими библиотеками С#.
Будет ли что-то вроде IronRuby или IronPython быть хорошим для этого, или я должен просто создать свой собственный очень простой язык?
Является ли код Ruby/Python запутанным при попытке включить кучу .NET-сборников? Я хочу, чтобы это было легко учиться и кодировать как для программистов, так и для программистов.
EDIT:
Спасибо за все замечательные ответы. Я выбрал IronPython в качестве ответа, поскольку он получил большую поддержку, но я потрачу немного времени на каждый из IronPython, Boo и IronRuby, чтобы посмотреть, что тестеры предпочитают писать сценарии.