gpt4 book ai didi

java - 在Junit中的afterclass中添加代码

转载 作者:行者123 更新时间:2023-12-02 06:10:50 25 4
gpt4 key购买 nike

如何在单元测试中向@AfterClass方法添加一些代码,但不修改测试源代码并通过junit cmd运行它。这是我的尝试,但它不会覆盖单元测试的@AfterClass。

import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.Request;
import org.junit.AfterClass;
import org.junit.After;
import org.uni.DumpGenerator;

public class SingleJUnitTestRunner {
public static void main(String... args) throws ClassNotFoundException {
String classAndMethod = args[0];
Request request = Request.aClass(Class.forName(classAndMethod));
Result result = new JUnitCore().run(request);
}
@AfterClass
public static void afterClass() throws Exception, InterruptedException {
System.gc();
Thread.sleep(5000L);
DumpGenerator.dumpToFile("test", "afterRun");
}
}

然后我使用这个cmd: java -cp 路径到junit SingleJUnitTestRunner Mytest

但是afterclass方法不起作用。任何帮助!提前致谢。

最佳答案

@AfterClass 注释适用于测试用例,而不是测试运行程序。您可以将其应用于要运行的每个测试(或基类),或者直接在 main 函数中调用它:

public static void main(String... args) throws Exception, ClassNotFoundException {
String classAndMethod = args[0];
Request request = Request.aClass(Class.forName(classAndMethod));
Result result = new JUnitCore().run(request);
afterClass();
}

关于java - 在Junit中的afterclass中添加代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21902795/

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