我需要为我的 C# 程序构建一个脚本接口,用于对嵌入式固件进行系统级测试。
我的应用程序包含与设备完全交互的库。有单独的库用于启动操作、获取输出和跟踪成功/失败。我的应用程序还有一个 GUI,用于管理多个设备并分配许多要运行的脚本。
对于测试人员(非程序员,但技术人员),我需要提供一个脚本接口,使他们能够提出不同的测试场景并运行它们。他们只是要调用我的 API,然后将结果返回给我的程序(通过/失败和消息)。
我想要的一个非常基本的例子:
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 之类的东西会对此有好处,还是我应该构建自己的非常基本的语言?
尝试包含一堆 .NET 编译的程序集时,Ruby/Python 代码是否会变得混乱?我希望它对非程序员和程序员一样易于学习和编码。
编辑:
感谢所有伟大的回应。我选择 IronPython 作为答案,因为它有最多的支持,但我会花一些时间来了解 IronPython、Boo 和 IronRuby 中的每一个,看看测试人员更喜欢用什么来编写脚本。