gpt4 book ai didi

java - 添加 Junit setup/@Before 逻辑而不更改代码?

转载 作者:太空宇宙 更新时间:2023-11-04 14:03:54 26 4
gpt4 key购买 nike

我可以通过配置添加要在每个测试用例/套件之前运行的代码,而不更改代码吗?有没有办法在一个地方而不是多个文件中添加大量测试的设置逻辑?

用例:目前有数百个 Junit 测试失败。一个解决方案是简单地在所有代码之前运行一段代码(或者至少与 JVM 启动的次数一样多),以执行一些单例初始化。我现在想避免更改数百个文件,只是以某种方式要求 Junit 执行给定的 init 类/方法。 (原因:1)最大限度地减少重复 2)我们处于某种代码卡住状态 - 最好不要提交存储库)

我想我可以扩展 TestRunner 类,并在那里进行初始化 - 但也许有更好的方法。顺便说一句,该套件是通过 Ant 运行的,我也看不到传递我自己的测试运行程序的方法。

最佳答案

我有点困惑,因为你说你不想更改代码,但编写自定义测试运行程序似乎没问题。这不是意味着要更改测试代码吗?

如果您可以更改测试代码但不能更改源代码,那么解决此问题的最简单方法是将 init 方法添加到您的测试套件类(如果有的话)并使用 @BeforeClass 注释它们

public class MySuite{

@BeforeClass
public static void initSingleton(){
//...
}
}

此方法将在套件中的任何测试类运行之前运行一次,因此您不应该有太多代码重复,如果您始终运行所有测试,甚至可以将其添加到根套件中。

关于java - 添加 Junit setup/@Before 逻辑而不更改代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29056274/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com