我正在开发一个Java项目,该项目分为Web项目和后端项目。 Web通过Web服务调用与后端交互。
Web项目中有一个类负责所有Web服务调用,我想在这个类周围添加测试。我想进行单元测试而不是功能测试,因此我不想必须运行Web服务才能运行测试。如果这个类只是将调用传递到后端,我可能会忽略对其进行测试,但是此时正在进行缓存,因此我想测试它是否正常工作。
当生成jax-ws wsgen Web服务时,它会创建一个接口供前端使用。我已经使用了这个生成的接口来创建一个虚假对象进行测试。这个方法效果还不错,但是这种方法存在问题。
目前,我是唯一一个进行单元测试的人,因此我是唯一一个维护测试代码的人。我希望在构建其他代码时也能构建测试代码,但是如果其他人向其中一个Web服务类中引入新方法,则接口将具有新方法,并且我的虚假对象将无法实现它,因此将无法正常工作。
Web和后端代码项目彼此独立,我不想在它们之间引入依赖关系。因此,在Web服务端点上引入接口似乎不可行,因为如果我将其放在后端,则我的Web代码需要引用它,如果我将其放在前端,则我的后端代码需要引用它。我也无法扩展端点,因为这也会在项目之间引入依赖关系。
我不熟悉Web服务的工作原理以及为Web项目生成类的方式。因此,我不知道如何在后端创建一个可供我在Web项目中使用的接口。
因此,我的问题是,如何在不引入项目依赖关系的情况下使接口对我的前端项目可用?还是有另一种更好的方法可以模拟我调用的后端Web服务?
Web项目中有一个类负责所有Web服务调用,我想在这个类周围添加测试。我想进行单元测试而不是功能测试,因此我不想必须运行Web服务才能运行测试。如果这个类只是将调用传递到后端,我可能会忽略对其进行测试,但是此时正在进行缓存,因此我想测试它是否正常工作。
当生成jax-ws wsgen Web服务时,它会创建一个接口供前端使用。我已经使用了这个生成的接口来创建一个虚假对象进行测试。这个方法效果还不错,但是这种方法存在问题。
目前,我是唯一一个进行单元测试的人,因此我是唯一一个维护测试代码的人。我希望在构建其他代码时也能构建测试代码,但是如果其他人向其中一个Web服务类中引入新方法,则接口将具有新方法,并且我的虚假对象将无法实现它,因此将无法正常工作。
Web和后端代码项目彼此独立,我不想在它们之间引入依赖关系。因此,在Web服务端点上引入接口似乎不可行,因为如果我将其放在后端,则我的Web代码需要引用它,如果我将其放在前端,则我的后端代码需要引用它。我也无法扩展端点,因为这也会在项目之间引入依赖关系。
我不熟悉Web服务的工作原理以及为Web项目生成类的方式。因此,我不知道如何在后端创建一个可供我在Web项目中使用的接口。
因此,我的问题是,如何在不引入项目依赖关系的情况下使接口对我的前端项目可用?还是有另一种更好的方法可以模拟我调用的后端Web服务?