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

  • Bigapplemagic

    Bigapplemagi

    22 EYLÜL 2011
  • CasinoRoyaleMovie's channel

    CasinoRoyale

    1 AĞUSTOS 2006
  • Sean Murphy

    Sean Murphy

    4 ŞUBAT 2009