SORU
23 Mart 2012, Cuma


Yöntem bir nesne yöntemi içinde oluşturulan çağrıldı doğrulamak için nasıl?Mockito :

Mockito yeni duyuyorum.

Aşağıda sınıfı, verilen, nasıl Mockito someMethod tam olarak çağrılan olduğunu doğrulamak için kullanın. foo başlatıldığı sonra bir kez alabilir miyim?

public class Foo
{
    public void foo(){
        Bar bar = new Bar();
        bar.someMethod();
    }
}

Aşağıdaki doğrulama çağrı yapmak istiyorum

verify(bar, times(1)).someMethod();

bar Bar alay bir örneğidir.

CEVAP
23 Mart 2012, Cuma


Dependency Injection

Eğer sana iğne Çubuğu örneği, ya da bir fabrika için kullanılan oluşturma Çubuğu örneği (veya diğer 483 yol yapıyor), daha iyi mi olurdu erişim için gerekli bunu gerçekleştirmek testi.

Fabrika Örnek:

Foo sınıfı yazılı olarak bu gibi:

public class Foo {
  private BarFactory barFactory;

  public Foo(BarFactory factory) {
    this.barFactory = factory;
  }

  public void foo() {
    Bar bar = this.barFactory.createBar();
    bar.someMethod();
  }
}

test yönteminde böyle bir BarFactory enjekte edebilirsiniz:

@Test
public void testDoFoo() {
  Bar bar = mock(Bar.class);
  BarFactory myFactory = new BarFactory() {
    public void createBar() { return bar;}
  };

  Foo foo = new Foo(myFactory);
  foo.foo();

  verify(bar, times(1)).someMethod();
}

Bonus: Bu TDD, kod tasarımı sürücü nasıl bir örnektir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Tina Chen

    Tina Chen

    26 Mayıs 2012
  • tsweeney79

    tsweeney79

    21 Ocak 2008
  • UlyssesForever's channel

    UlyssesForev

    28 ŞUBAT 2012

İLGİLİ SORU / CEVAPLAR