哪种设计模式更适合(对于BDD JBehave)
Posted
技术标签:
【中文标题】哪种设计模式更适合(对于BDD JBehave)【英文标题】:Which design pattern is more suitable (for BDD JBehave) 【发布时间】:2013-09-25 09:33:32 【问题描述】:我的自动化测试目前是在 UI 级别使用 JBehave 和 Selenium Web 驱动程序进行的。我想将其扩展到服务级别的测试。策略是使用 BDD 作为通用测试语言。 我不想急于编写服务级别测试,而是要仔细设计基础架构,以便以后可以轻松地进一步扩展。即最初只测试一个 SOAP 服务,但在后期也测试多个 SOAP 服务和 RESTful 服务。
提供了连接服务的通用接口(SOAP、RESTful)哪种设计模式适合实现这一点?
【问题讨论】:
【参考方案1】:既然你要一个模式:
我根本不会在 SOAP 或 RESTful 级别上测试服务,而是针对一个简单的 java 类编写测试,该类实现了所有服务功能,没有任何肥皂/休息开销
模式:(这是Proxy_pattern的特殊用法)
创建一个包含所有必要服务功能的 java 接口 在 java 类中实现此接口 从同一个接口继承你的soap/rest-service 通过将所有soap/rest调用委托给服务来实现soap/rest-service 类这种方法测试起来更简单/更快,因为您不需要运行服务器来测试它。
如果您的 Web 应用程序是针对服务接口而不是针对 soap/rest 进行编码,那么您的代码会更加灵活。您可以稍后决定您的 web 应用程序是否应该针对soap/rest 服务运行或直接使用该类。
【讨论】:
以上是关于哪种设计模式更适合(对于BDD JBehave)的主要内容,如果未能解决你的问题,请参考以下文章