JUnit test 如何做Java静态方法测试
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JUnit test 如何做Java静态方法测试相关的知识,希望对你有一定的参考价值。
@Test public String getStringInfo()... 上面这个JUnit测试失败,说必须是void动态方法. 请问下各位大牛, 有什么方法可以测试静态方法呢(有参数返回)?
使用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;
测试方法:
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);
参考技术A 测试只允许你使用void 方法 如果说你别的方法是静态的有返回值的 你完全可以包装一成本回答被提问者采纳 参考技术B 写个main函数不就行了,直接类名.方法名
以上是关于JUnit test 如何做Java静态方法测试的主要内容,如果未能解决你的问题,请参考以下文章