Java 测试驱动开发-Spring应用
我正在开发一个RESTAPI。我已经为功能测试做了Jmeter测试。我想添加单元测试,也希望从现在开始遵循测试驱动开发(TDD),以进行任何增强,并向现有项目添加新功能(该项目必然会变得非常复杂,并且没有任何单元测试) 在读了很多关于TDD的书之后,我对是否应该选择TDD有点困惑。有极端的观点支持和反对它 我想我只会遵循TDD来开发我的服务层,它只包含业务逻辑Java 测试驱动开发-Spring应用,java,spring,unit-testing,tdd,Java,Spring,Unit Testing,Tdd,我正在开发一个RESTAPI。我已经为功能测试做了Jmeter测试。我想添加单元测试,也希望从现在开始遵循测试驱动开发(TDD),以进行任何增强,并向现有项目添加新功能(该项目必然会变得非常复杂,并且没有任何单元测试) 在读了很多关于TDD的书之后,我对是否应该选择TDD有点困惑。有极端的观点支持和反对它 我想我只会遵循TDD来开发我的服务层,它只包含业务逻辑 对我的方法有什么建议吗?TDD不止这些。这不仅仅是一种检查系统外部工作是否正常的方法。TDD也是一种加速类开发的方法,即使它们不与其他系
对我的方法有什么建议吗?TDD不止这些。这不仅仅是一种检查系统外部工作是否正常的方法。TDD也是一种加速类开发的方法,即使它们不与其他系统交互 将测试视为对以下问题的回答:
TDD不仅仅是这样。这不仅仅是一种检查系统外部工作是否正常的方法。TDD也是一种加速类开发的方法,即使它们不与其他系统交互 将测试视为对以下问题的回答:
TDD是您在开发之前要测试的最佳实践之一。在开发应用程序/服务的每个步骤中,如果您破坏了以前的任何功能,您都会知道 您走的是正确的道路,我会一直鼓励您使用TDD。如果你正在从头开始做一个项目,那就去做吧 因为您的项目是一个现有的项目,所以在开始讨论所有现有功能的单元测试用例之前,这可能是一个令人头痛的问题 因此,最好的方法是:
- 在开始开发新功能之前,写下现有功能的所有单元测试用例
- 在这样做的过程中,您可能会遇到很多惊喜,并且可能最终会重新分解很多代码。这将帮助您开发未来的新功能
- 现在,由于您的代码看起来好多了,您可以为新功能启动TDD
让我知道这是否有帮助。我在我的许多项目中都使用了TDD,对此我很满意。TDD是一种最佳实践,您可以在开发之前进行测试。在开发应用程序/服务的每个步骤中,如果您破坏了以前的任何功能,您都会知道 您走的是正确的道路,我会一直鼓励您使用TDD。如果你正在从头开始做一个项目,那就去做吧 因为您的项目是一个现有的项目,所以在开始讨论所有现有功能的单元测试用例之前,这可能是一个令人头痛的问题 因此,最好的方法是:
- 在开始开发新功能之前,写下现有功能的所有单元测试用例
- 在这样做的过程中,您可能会遇到很多惊喜,并且可能最终会重新分解很多代码。这将帮助您开发未来的新功能
- 现在,由于您的代码看起来好多了,您可以为新功能启动TDD
让我知道这是否有帮助。我在我的许多项目中都使用了TDD,我对此很满意。因为您使用的是Spring,我建议对象到单元测试不应该是web服务。我会让它成为一个基于接口的POJO。行为不应受到作为REST部署的选择的影响 对POJO要使用的对象的HTTP请求和响应进行封送和解封送可以是分开的
这种安排还有一个额外的好处,即不需要为了测试而部署到容器。因为您使用的是Spring,所以我建议对象到单元测试不应该是web服务。我会让它成为一个基于接口的POJO。行为不应受到作为REST部署的选择的影响 对POJO要使用的对象的HTTP请求和响应进行封送和解封送可以是分开的
这种安排还有一个额外的好处,即不需要为了测试而部署到容器中。考虑在这里问这个问题:考虑在这里问这个问题:TDD并不总是需要的,也就是说,当需求发生变化时,需求的变化总是有可能的,但若你们有一个强大的测试用例,你们不应该受苦。在这里,他们将使用TDD开发spring服务层。我想知道我是否可以做这样的事情?这个链接很好,信息丰富。是的,您可以从服务层开始。但是要小心不要提出集成测试用例。在这种情况下,您可能还必须为现有功能写下测试用例。TDD并不总是需要的,即当需要时