在当前项目中,我有以下架构:
内部项目定义了一个Web服务(界面在Internal-Proj中,显然在Impl中实现)。外部项目使用此Web服务。因此,从External-Proj-Impl到Internal-Proj存在依赖关系。
我们创建了一个实现WebService的WebServiceDummy类,并将用于External-Proj-Impl中的测试。问题是这个WebServiceDummy应该放在哪里?
如果重要,我们正在使用Spring,这意味着我们在上下文中声明我们是使用真实实现,虚拟或Web服务客户端,然后注入。
这是最好的做法吗?
答案 0 :(得分:2)
我将它与使用它的测试结合在一起,所以:
在External-Proj-Impl中:这不会创建新的依赖项。缺点:如果一个新项目也需要一个假人,它将不得不创建自己的。
关于缺点,不一定。您可以让其他项目使用“测试人工制品”(以Maven术语)。如果这些项目完全不相关,您可以启动一个新的“测试支持”项目(“内部项目测试”,仅依赖于Internal-Proj)。