我正在编写一个简单的关键字驱动的测试框架。它需要一个包含操作的xml文件。我在运行时从xml文件加载这些操作,并使用反射,我在c#中调用相应的方法。大致像这样:
<Action>Launch
<Application>Notepad.exe</Application>
<RunElevated>True</RunElevated>
<Test>ApplicationLaunch</Test>
</Action>
启动可能会成为方法的名称。
哪种设计模式最能匹配这个问题?
答案 0 :(得分:1)
我快速提出的一个解决方案是构建
Interface Operation
{
public Run()
}
每个对象都必须实现它。比创建实现一个接口的对象的哈希 并知道如何运行不同的任务。键将是操作,执行操作。
另一个想法是使用结构模式并基于操作创建对象。
答案 1 :(得分:1)
根据您需要的可扩展性,消除重复等,您很可能会使用多种设计模式。
解析XML后,您可以使用Builder
创建测试。每个测试用例都可以遵循Command
模式,因此抽象运行和验证测试的细节。
某些测试可能是使用Composite
模式运行多个测试的测试套件。
我建议您查看现有单元测试框架的来源以获取灵感。