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

  • HDstarcraft

    HDstarcraft

    12 Mayıs 2009
  • Jonathan Flavell

    Jonathan Fla

    1 HAZİRAN 2006
  • UrAvgConsumer

    UrAvgConsume

    1 Ocak 2012