在上一篇文章中,我们回答了整理过程中遇到的一些问题,并考虑了为什么这样的设计。
本文是“如何读取源代码”主题的第十二部分。它通过项目之间的联系扩展,以通过项目与项目之间的联系更好地了解项目。
本节内容:
在项目中进行测试时,我们使用Spring,通常需要添加以下注释行:
@runwith(springrunner.class
为什么要使用此注释?回答这个问题,首先让我们了解测试人员如何执行。
在执行过程中,我们已经知道JunitCore是整个测试的入口。它构建了跑步者实例,跑步者通过测试构建相应的测试模型,并通过语句执行。通知testnotifier处理测试容器以处理它。测试结果。
但是我们尚未弄清Junitcore如何建立跑步者。现在,我们从junitcore开始,构成最后的拼图,然后整理一个完整的测试执行过程。
入口方法非常简单,并且委托Runmain方法执行。
这只是作为对象的命令行参数,然后通过参数配置执行测试。
请注意此处的addListener?在此处构建了文本列表,它通过AddListener添加到testNotifier中。我们之前已经知道,通过testnotifier通知了测试结果以测试ListElstener,这是testListener实例以testNotifier。在上一个过程中。
最后一行构建了通过Createrequest方法执行测试的请求。
此处的运行方法是构建一个基本的测试执行过程,并调用Runner对象的运行方法执行特定的测试。1arlier我们已经整理了TestRunner方法的特定过程。在这里,我们连接了以前梳理的过程。
请注意,上面的请求。getRunner,现在我们只需要弄清楚请求如何获得跑步者,然后整个执行过程即可完成。
让我们回顾一下Createrequest方法。
在这里,请求是通过请求的静态方法构造的。
这是一个通过构建器实例构建跑步者的AlldeFaultPossibibilitiesBuilder实例。在空间限制中,我们直接转到AlldeFaultPossibibilitiesbuilder的RunnerForClass方法,以查看Builder如何构建Runner。
首先,构建5个默认的RunnerBuilder,然后通过相应的RunnerBuilder构建Runner。如果结构成功,则直接返回相应的跑步者进行测试。
请注意,最后一个构建器方法junit4builder从名称中,我们可以知道它用于构建junit4runner。让我们单击并确认。
它确实是一个junit4对象。
在这一点上,我们的整个执行过程已经解决:
上述过程与春季集成之间有什么关系?
之前,我们知道春季测试需要添加评论符号。我们关注上面的构建器方法。一个构建器方法之一是注释布置器。让我们看一下这种方法。
通过runwith注释找到了此方法,并找到了相应的类,然后实例化以返回作为Runner。注意,上面的AlldeFaultPossibibilitiesBuilder方法的RunnerForClass方法的周期在上面,如果您找到了Runner,您将直接返回,并且将直接返回,并且会返回注释布构成器相对较高,因此获得跑步者后,您将不再执行构建器。Spring使用SpringRunner执行测试。
SpringRunner如何进行测试?结合前面的Runner进程,您可以尝试自行解决。
本文通过春季的示例与Junit的示例结合了Junit4的完整执行过程,并分类春季的方法与Junit结合在一起。该方法讲述了如何通过相关阅读来整合多个项目,以更好地了解项目之间的关系。
读取不同版本的内容将在下面说明。
原始:https://juejin.cn/post/7100083207206830088