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的主要内容,如果未能解决你的问题,请参考以下文章

ABAP和Java的单元测试Unit Test

使用 Test::Unit,如何在所有测试(但不是每个测试)之前运行一些代码?

如何在Java Unit Test中mock 静态方法

“vue-cli-service test:unit” 运行成功;但 npm 退出错误代码 1 ELIFECYCLE

java代码在片段活动中不起作用

Unit Test in SpringBoot