JUnit test 如何做Java静态方法测试
发布网友
发布时间:2022-04-24 17:01
我来回答
共3个回答
热心网友
时间:2023-10-24 11:27
使用junit测试Java静态私有方法,通过以下案例进行分析:
测试目标类如下:
package cn.outofmemory.junit;
public class TestTarget {
/**
* 移除正则表达式中需要转义的字符
* @param w word
* @return 移除正则表达式中需要转义的字符
* @author Administrator
* @date 2015-7-11
*/
private static String convert4Regex(String w) {
if (w == null) {
return null;
}
String[] convertedChars = {"\\",".","+","*","(",")","{","}","[","]","?","/","^","$","|"};
for (String c : convertedChars) {
w = w.replace(c, "\\" + c);
}
return w;
}
}
测试方法:
@Test
public void testConvert4Regex() throws Exception {
String input = "A+";
String expected = "A\\+";
Method targetMethod = TestTarget.class.getDeclaredMethod("convert4Regex", String.class);
targetMethod.setAccessible(true);
Object actual = targetMethod.invoke(TestTarget.class, new Object[]{input});
assertEquals(expected,actual);
}
热心网友
时间:2023-10-24 11:27
测试只允许你使用void 方法 如果说你别的方法是静态的有返回值的 你完全可以包装一成
热心网友
时间:2023-10-24 11:28
写个main函数不就行了,直接类名.方法名