2

私はPowerMockitoを使用しています。これが私のテストです。

import com.PowerMockitoProduction;
import org.apache.commons.httpclient.HttpClient;
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;


@RunWith(PowerMockRunner.class)
@PrepareForTest(HttpClient.class)
public class PowerMockitoTest {

    @Test(expected = UnsupportedOperationException.class)
    public void test() throws Exception {

        PowerMockito.whenNew(HttpClient.class).withNoArguments().thenThrow(new UnsupportedOperationException());

        new PowerMockitoProduction().createClient();

    }
}

このテストは失敗しています。

java.lang.AssertionError: Expected exception: java.lang.UnsupportedOperationException

これが何をするかPowerMockitoProductionです:

package com;

import org.apache.commons.httpclient.HttpClient;

public class PowerMockitoProduction {

    public void createClient() {
        HttpClient client = new HttpClient();
        System.out.println(client);
    }

}

HttpClientこのコードは、テストで次の行に基づいてモックを作成することを期待しています。

PowerMockito.whenNew(HttpClient.class).withNoArguments().thenThrow(new UnsupportedOperationException());

しかし、それは私の製品コードには影響していないようです。私は何を間違っていますか?

4

1 に答える 1