如何解决Junit 5-@DisplayNameGenerator-在终端中不起作用
我到处搜索了逐步的解释,但无济于事。要求简单明了
- 我在AppTest.java中有一个演示测试类,为此我正在使用Junit 5
- 我正在将@DisplayNameGenerator与自定义Generator静态类一起使用
- 但是终端没有显示任何变化
我不确定下一步需要做什么。有人能帮助我吗? 这是到目前为止我得到的代码:
package learnjunit;
/* assertions and junit 5 core annotation imports */
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.*;
import java.lang.reflect.Method;
@DisplayNameGeneration(AppTest.ReplaceCamelCase.class)
public class AppTest {
@BeforeAll
public static void test_beforeAll() {
System.out.println("@BeforeAll - Executing");
}
@BeforeEach
public void test_beforeEach() {
System.out.println("@Before - Executing");
}
@Test
public void test_testOne() {
System.out.println("@Test - Executing for test_testOne()");
}
@Test
public void test_testTwo() {
System.out.println("@Test - Executing for test_testTwo()");
}
@AfterEach
public void test_afterEach() {
System.out.println("@AfterEach - Executing");
}
@AfterAll
public static void test_afterAll() {
System.out.println("@AfterAll - Executing");
}
static class ReplaceCamelCase extends DisplayNameGenerator.Standard {
@Override
public String generateDisplayNameForClass(Class<?> testClass) {
/* -> this I can see in the terminal */ System.out.println(super.generateDisplayNameForClass(testClass));
/* -> this has no effect */ return super.generateDisplayNameForClass(testClass) + "__YES";
}
@Override
public String generateDisplayNameForNestedClass(Class<?> nestedClass) {
return replaceCamelCase(super.generateDisplayNameForNestedClass(nestedClass));
}
@Override
public String generateDisplayNameForMethod(Class<?> testClass,Method testMethod) {
return this.replaceCamelCase(testMethod.getName()) +
DisplayNameGenerator.parameterTypesAsString(testMethod);
}
String replaceCamelCase(String camelCase) {
StringBuilder result = new StringBuilder();
result.append(camelCase.charAt(0));
for (int i=1; i<camelCase.length(); i++) {
if (Character.isUpperCase(camelCase.charAt(i))) {
result.append(' ');
result.append(Character.toLowerCase(camelCase.charAt(i)));
} else {
result.append(camelCase.charAt(i));
}
}
return result.toString();
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。