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

  • Autodesk 3ds Max Learning Channel

    Autodesk 3ds

    23 HAZİRAN 2010
  • Blendtec

    Blendtec

    30 EKİM 2006
  • FullMag

    FullMag

    15 ŞUBAT 2007