哪种设计模式更适合(对于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)的主要内容,如果未能解决你的问题,请参考以下文章

常见的BDD框架

BDD TDD

哪种方法更适合提高存储过程的性能

适用于 Java 平台的商业 BDD 工具

哪种方法更适合此目的 commandLink 或 outputLink 或 Link [重复]

对于缓存的 GPU,哪种内存访问模式更有效?