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

  • Adam Khoury

    Adam Khoury

    23 Ocak 2008
  • RealPapaPit

    RealPapaPit

    16 Mart 2009
  • SamsTech

    SamsTech

    4 NİSAN 2014

İLGİLİ SORU / CEVAPLAR