Расширение приложения C # .NET - создавать собственный язык сценариев или нет?
Мне нужно создать сценарий для моей программы на C #, которая выполняет тестирование встроенного программного обеспечения на системном уровне.
Мое приложение содержит библиотеки для полного взаимодействия с устройствами. Существуют отдельные библиотеки для инициирования действий, получения выходных данных и отслеживания успеха / неудачи. Мое приложение также имеет графический интерфейс для управления несколькими устройствами и назначения многих сценариев для запуска.
Для тестировщиков (не программистов, но технических) мне нужно предоставить интерфейс сценариев, который позволит им предлагать различные сценарии для тестирования и запускать их. Они просто будут вызывать мои 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
Где функции отчетности, питания и частоты предоставляются моими библиотеками C #.
Будет ли что-то вроде IronRuby или IronPython хорошо для этого или я просто создам свой очень простой язык?
Не нарушается ли код Ruby / Python при попытке включить несколько сборок .NET? Я хочу, чтобы это было легко изучать и кодировать как для непрограммистов, так и для программистов.
РЕДАКТИРОВАТЬ:
Спасибо за все отличные ответы. Я выбрал IronPython в качестве ответа, так как он получил наибольшую поддержку, но яЯ проведу немного времени с каждым из IronPython, Boo и IronRuby, чтобы увидеть, что тестировщики предпочтут писать сценарии.