SORU
14 Ocak 2014, Salı


Mockito ile alay statik yöntemler

java.sql.Connection nesneleri üretmek için bir fabrika yazdım:

public class MySQLDatabaseConnectionFactory implements DatabaseConnectionFactory {

    @Override public Connection getConnection() {
        try {
            return DriverManager.getConnection(...);
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }
}

Parametreler DriverManager.getConnection geçti doğrulamak istiyorum ama statik bir yöntem alay etmek için nasıl bilmiyorum. Ve benim test durumlarda JUnit 4 Mockito kullanıyorum. Alay/için iyi bir yol olun bu özel kullanım durum var mı?

CEVAP
14 Ocak 2014, Salı


Mockito üstüne PowerMockito kullanın.

Örnek kod:

@RunWith(PowerMockRunner.class)
@PrepareForTest(DriverManager.class)
public class Mocker {

    @Test
    public void testName() throws Exception {

        //given
        PowerMockito.mockStatic(DriverManager.class);
        BDDMockito.given(DriverManager.getConnection(...)).willReturn(...);

        //when
        sut.execute();

        //then
        PowerMockito.verifyStatic();
        DriverManager.getConnection(...);

    }

Daha fazla bilgi için:

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • George McCarron

    George McCar

    29 Mayıs 2013
  • Rhapsody

    Rhapsody

    7 ŞUBAT 2008
  • TROPFEST

    TROPFEST

    27 Mart 2007