Мне нужно создать сценарий для моей программы на 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? Я хочу, чтобы его было легко изучать и кодировать как для непрограммистов, так и для программистов.
EDIT:
Спасибо за все замечательные ответы. Я выбрал IronPython в качестве ответа, так как он имел наибольшую поддержку, но я потрачу немного времени с каждым из IronPython, Boo и IronRuby, чтобы увидеть, что тестировщики предпочтут писать сценарии.