Java 在哪里放置虚拟web服务实现?
在当前项目中,我有以下体系结构:Java 在哪里放置虚拟web服务实现?,java,spring,web-services,testing,Java,Spring,Web Services,Testing,在当前项目中,我有以下体系结构: 内部项目 ^内部项目执行 外部项目 ^外部项目导入 内部项目定义了一个web服务(显然,接口在内部项目中,实现在Impl中)。外部项目使用此web服务。因此,外部项目Impl与内部项目之间存在依赖关系 我们创建了一个WebServiceDummy类,它实现了WebService,并将用于外部项目Impl中的测试。问题是这个WebServiceSummy应该放在哪里 在外部项目Impl中:这不会创建新的依赖项。缺点:如果一个新项目也需要一个虚拟项目,它就必须
- 内部项目
- ^内部项目执行
- 外部项目
- ^外部项目导入
- 在外部项目Impl中:这不会创建新的依赖项。缺点:如果一个新项目也需要一个虚拟项目,它就必须创建自己的虚拟项目。我也喜欢这样的想法,即内部负责为其接口提供假人,而这里的情况并非如此
- 在内部项目中:这不需要新的依赖项,但意味着在接口项目中有一个实现(尽管是一个虚拟的实现)
- 在内部项目Impl中:这是有意义的,因为虚拟是一个实现,而不是一个接口。然而,这意味着外部项目Impl现在依赖于内部项目Impl,这是不可接受的
这方面有最佳实践吗 我会把它和使用它的测试放在一起,所以: 在外部项目Impl中:这不会创建新的依赖项。缺点:如果一个新项目也需要一个虚拟项目,它就必须创建自己的虚拟项目
关于缺点,不一定。您可以让其他项目使用“测试人工制品”(用Maven术语)。如果这些项目完全不相关,您可以启动一个新的“测试支持”项目(“内部项目测试”,仅取决于内部项目)。将其与使用的测试放在一起。