Java Unit Test
Posted 想开挖掘机的程序员
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java Unit Test相关的知识,希望对你有一定的参考价值。
当需要mock静态方法的时候,必须加注解@PrepareForTest和@RunWith。注解@PrepareForTest里写的类是静态方法所在的类。
import org.junit.Test; import org.junit.runner.RunWith; import org.powermock.api.mockito.PowerMockito; import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; import static org.junit.Assert.assertEquals; import static org.mockito.Matchers.eq; @RunWith(PowerMockRunner.class) @PrepareForTest(String.class) public class MockPrepareForTest { @Test public void testStaticMathod () { TestString testString = new TestString(); PowerMockito.mockStatic(String.class); PowerMockito.when(String.valueOf(eq(100l))).thenReturn("TEST"); String result = testString.getTestString(100l); assertEquals("TEST", result); } class TestString { public String getTestString(long number) { return String.valueOf(number); } } }
以上是关于Java Unit Test的主要内容,如果未能解决你的问题,请参考以下文章
使用 Test::Unit,如何在所有测试(但不是每个测试)之前运行一些代码?