SORU
11 Mayıs 2011, ÇARŞAMBA


Mockito saplama tartışmaya mahal vermeden bir yöntem olabilir mi?

Bazı eski kod, Mockito kullanarak test etmeye çalışıyorum.

Aşağıdaki gibidir: üretimde kullanılan FooDao bir saplama yapmak istiyorum

foo = fooDao.getBar(new Bazoo());

Yazabilirim:

when(fooDao.getBar(new Bazoo())).thenReturn(myFoo);

Ama bariz sorun getBar() hiç bir yöntem ben. o Bazoo aynı nesne ile adlandırılır. (new operatör lanet olsun!)

Eğer myFoo argüman ne olursa olsun döndüren bir yöntem saplama edebilirsem çok sevinirim. O da olmazsa, başka çözüm önerileri dinleyeceğim, ama gerçekten makul test kapsama kadar üretim kodu değiştirme önlemek istiyorum.

CEVAP
11 Mayıs 2011, ÇARŞAMBA


when(
  fooDao.getBar(
    any(Bazoo.class)
  )
).thenReturn(myFoo);

ya (nulls önlemek için):

when(
  fooDao.getBar(
    (Bazoo)notNull()
  )
).thenReturn(myFoo);

İthalat matchers (Diğerleri mevcuttur): sakın unutmayın

import static org.mockito.Matchers.*;

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Charles Griffin Gibson

    Charles Grif

    26 NİSAN 2006
  • parlophone

    parlophone

    28 ŞUBAT 2006
  • Trevor Eckhart

    Trevor Eckha

    19 Aralık 2009