最近我做了一个项目,最初是一个用Swing编写的胖客户端Java应用程序。后来他们得到了支持http请求的要求。所以他们实现了这样的代码:
public void handleRequest(...) {
if(contextPath.equals("purchase-product")) {
getMainPanel().getPurchasePanelButton().doClick();
getMainPanel().getPurchasePanel().selectProductById(productId);
if(getMainPanel().getPurchasePanel().getPurchaseButton().isEnabled()) {
getMainPanel().getPurchasePanel().getPurchaseButton().doClick();
...
}
}
....
}
我的第一个想法是WTF。 Weren他们熟悉MVC模式吗?
但后来我认为他们实现了这样的代码,能够通过使用JMeter或SoapUI的http请求进行Swing GUI测试,而不是像Squish这样复杂的GUI框架。
我的问题是人们使用类似的技术来简化他们的组件测试吗?这个(反)模式的名称是什么?
答案 0 :(得分:1)
我投票赞成" Big Ball of Mud"。无论如何,它显然与有用的模式相反" Tell, Don't Ask"所有那些accessor(get)方法在每个可能的抽象级别公开实现细节。它对Demeter的忽视是非常了不起的,在第二个参考文献中也提到了这一点。