尝试创建具有构造函数调用静态方法的对象时的JUnit问题

时间:2015-11-20 06:30:31

标签: junit mockito junit4 powermockito

我正在编写JUnit测试来验证一些方法。

  1. 我正在测试类中创建一个对象。
  2. 构造函数调用另一个类上的静态方法。
  3. 返回的对象应该是一个嘲笑的对象。
  4. 例如:

    public class Test {
        private Red r;
    
        @Before
        public setUp() {
            Shape shape = new Shape();
        }
    
    }
    
    public class Shape {
        String t;
    
        Shape() {
            Red b = Box.getBoxes();
            t = b.getThis();
        }
    }
    
    public class Box {
        static Red r;
    
        public static Red getReds() {
            return r;
        }
    }
    

    我该怎么做?

1 个答案:

答案 0 :(得分:0)

以下是使用PowerMockito API模拟此功能的代码。

1.将Red对象作为模拟对象

background-size: contain

您需要使用Powermockito运行程序并需要添加必需的测试类(逗号分隔),这些类需要由powermock API进行模拟。

PowerMockito.mockStatic(Box.class);
Second mockedRed= PowerMockito.mock(Red.class);
            PowerMockito.when( Box.class).getReds().thenReturn(mockedRed);