我们正在使用 maven surefire 插件(2.14)来运行我们的 junit4 测试并且一切正常。
但是,我们的应用程序是基于 Spring 的,我们的每个测试类都使用 SpringJUnit4ClassRunner 作为 @RunWith 类。这意味着对于每个启动的测试类,Spring 应用程序上下文也将启动,并在所有测试完成后关闭(所有测试类都使用 @DirtiesContext 注释)。所以来自 surefire 的测试统计数据可能会说一个特定的测试类需要 10 秒来运行所有包含的测试,而实际上整个测试从 Spring 启动到关闭需要 3 分钟。我们打算消除这种不断的启动/关闭,但我们正试图了解我们的测试受到的影响有多严重。
有没有办法获得测试类本身运行时间而不是单个测试总数的统计数据?
我认为 RunListener 类的自定义实现可能是答案,但我认为它只涵盖单个测试的统计信息,而不是整体。