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

  • AlaskanGrizzly

    AlaskanGrizz

    30 EKİM 2009
  • LinusTechTips

    LinusTechTip

    25 Kasım 2008
  • SavageLuxxxGaming - Daily NBA 2K15 & NBA Live 15 Enjoy And Subscribe!

    SavageLuxxxG

    11 Ocak 2013