如何测试每个客户端都有子域的Grails webapp?

时间:2014-11-23 17:07:38

标签: grails testing subdomain

我正在开发基于Grails的webapp,其客户拥有自己的子域。我通过请求URL在我的UrlMappings中获取客户端标识,并将该信息放入控制器将使用的params对象中。授予此方案正确性的最佳方法和测试类型是什么?我正在寻找独立于平台的解决方案(我不想在每台运行测试的机器上编辑/ etc / hosts文件)

1 个答案:

答案 0 :(得分:0)

我们有不同的方式来实现我们想要的东西(我会对你的UrlMappings解决方案感兴趣)。

我写了一个Groovy特征(类似SubdomainAware)和每个控制器implements。然后该特征具有一个getter(类似getCustomer),它从request对象中嗅探域并获取客户域对象(因此在我的控制器中我可以执行User.findAllByCustomer(customer)之类的操作)。

对于功能和单元测试,我允许额外的GET或POST参数forceDomain我的SubdomainAware特征也会查找(尽管只在非生产环境中),并且优先于实际请求&# 39; s域名。这允许我在测试中模拟我想要的任何子域。