我刚开始接触Spring单元测试,通过一些研究,我想我会使用Junit 5和mockito以及AssertJ库来做同样的事情。我刚刚开始,它看起来确实很混乱。
第一个问题:我们是先写我们的单元吗??意思是我们的控制器方法或服务方法或任何单元..我们是先写这些单元,然后再为它们写测试吗?还是我们先设计我们的测试,考虑好了,这个方法需要这样做,所以我将写我的测试,然后实际实现我必须实现的东西?我知道这个问题有点傻,但我想知道人们在他们的工作中是如何做的。
第二个问题:假设我们编写测试,它在某个单元失败了。在它失败后,我的第一个方法应该是什么?我应该认为我编写测试的方式很糟糕,所以我需要正确地编写测试才能通过测试,还是我应该说,好吧,我的单元肯定很糟糕,我会马上修改或重构我的代码,然后在重构之后再次测试它?在某个单元的测试失败之后,要做什么“事情”?
第三个问题/帮助:测试简单的CRUD方法看起来还不错,有很多资源可以做,尽管它仍然令人困惑。有人能给我推荐一个github repo或者一个链接或者任何源代码吗?这些源代码是为一些复杂的函数编写的,里面有一些实际的逻辑,而不仅仅是CRUD操作?我想看看测试是如何为代码内部的逻辑编写的,以及实际是如何测试的。
任何帮助都将是非常宝贵的。谢谢你,有一个美好的一天。
1条答案
按热度按时间kadbb4591#
1.你在问你是否应该去“测试驱动开发”(简称TDD),在那里首先写测试是基本的想法。但是既然你还没有写任何测试,开始小,写测试后,一旦你觉得写测试舒适,写所有的测试之前实现。阅读更多关于“TDD”,谷歌是你的朋友。
1.这取决于你是否更信任测试代码而不是产品代码,反之亦然。2当然,测试代码也可能是有错误的。3但是测试代码实际上应该更容易理解,所以应该更容易决定你可以信任谁。
1.请参阅https://medium.com/@sheikarbaz5/spring-boot-with-tdd-test-driven-development-part-i-be1b90da51e或https://livebook.manning.com/book/spring-boot-in-action/chapter-4/