Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
DUBLERZY TESTOWI1.Prezentacja kodu2.Dublerzy - kiedy i po co?3.Dummy4.Stub5.Mock6.Spy
Prezentacja kodu
MOCKI
KLASYCZNE TESTOWANIE                    FIXTURE         Setup         Exercise  TEST              SUT         Verify
TEST Z ZALEŻNOŚCIĄ                    FIXTURETEST          SUT             DOC
POŚREDNIE WEJŚCIA                    FIXTURETEST          SUT               DOC                     Indirect              ...
POŚREDNIE WYJŚCIA                    FIXTURETEST          SUT               DOC                     Indirect              ...
RODZAJE DUBLERÓW
DUMMY OBJECT●   wypełnia listę parametrów●   kiedy nie można przekazać    nulla●   nie używany@Testpublic void shouldAddLi...
TEST STUB ●   Responder ●   Saboteur
TEST STUB@Testpublic void productNotFound() {  mockery.checking(new Expectations() {{    allowing(catalog).findItem(BARCOD...
MOCK OBJECT                   WER                      Y      FIKA                                  C   JA Z              ...
TEST SPY                              STUB+MOCKpredefiniowane odpowiedzi                            weryfikacja zachowania
TEST SPY@Testpublic void addAMovie() {  MovieListPresenter movieListPresenter = presenterWithNoMovies();  when(movieView.g...
FAKE   DZIAŁAJĄCA,ALE UPROSZCZONA IMPLEMENTACJA
Bibliografia●   Gerard Meszaros, xUnit Test Patterns, Addison-    Wesley 2007●   http://xunitpatterns.com/●   http://marti...
DZIĘKUJĘ                        Zdjęcia:[8] http://xunitpatterns.com/Types%20Of%20Test%20Doubles.gif[9] http://www.flickr....
Upcoming SlideShare
Loading in …5
×

04 - Dublerzy testowi

711 views

Published on

  • Be the first to comment

  • Be the first to like this

04 - Dublerzy testowi

  1. 1. DUBLERZY TESTOWI1.Prezentacja kodu2.Dublerzy - kiedy i po co?3.Dummy4.Stub5.Mock6.Spy
  2. 2. Prezentacja kodu
  3. 3. MOCKI
  4. 4. KLASYCZNE TESTOWANIE FIXTURE Setup Exercise TEST SUT Verify
  5. 5. TEST Z ZALEŻNOŚCIĄ FIXTURETEST SUT DOC
  6. 6. POŚREDNIE WEJŚCIA FIXTURETEST SUT DOC Indirect Input
  7. 7. POŚREDNIE WYJŚCIA FIXTURETEST SUT DOC Indirect Output
  8. 8. RODZAJE DUBLERÓW
  9. 9. DUMMY OBJECT● wypełnia listę parametrów● kiedy nie można przekazać nulla● nie używany@Testpublic void shouldAddLineItem() { Product product = new Product("Dummy Name", getUniqueNumber()); Invoice invoice = new Invoice(new DummyCustomer()); invoice.addItemQuantity(product, QUANTITY); LineItem expectedLineItem = new LineItem(invoice, product, QUANTITY); assertLineItemsEqual("", expectedLineItem, invoice.getFirstLineItem());}
  10. 10. TEST STUB ● Responder ● Saboteur
  11. 11. TEST STUB@Testpublic void productNotFound() { mockery.checking(new Expectations() {{ allowing(catalog).findItem(BARCODE); will(throwException(new ProductNotFoundException(BARCODE))); oneOf(display).displayProductNotFoundMessage(BARCODE); }}); pointOfSale.onBarcode(BARCODE);}@Testpublic void addAMovie() { MovieListPresenter movieListPresenter = presenterWithNoMovies(); when(movieView.getNewTitle()).thenReturn(STAR_WARS); movieListPresenter.add(); verify(movieView).showMovies(list(movieTitled(STAR_WARS)));}
  12. 12. MOCK OBJECT WER Y FIKA C JA Z ACH OWA NIA@Testpublic void emptyBarcode() throws Exception { mockery.checking(new Expectations() {{ oneOf(display).displayEmptyBarcodeMessage(); }}); pointOfSale.onBarcode("");}
  13. 13. TEST SPY STUB+MOCKpredefiniowane odpowiedzi weryfikacja zachowania
  14. 14. TEST SPY@Testpublic void addAMovie() { MovieListPresenter movieListPresenter = presenterWithNoMovies(); when(movieView.getNewTitle()).thenReturn(STAR_WARS); movieListPresenter.add(); verify(movieView).showMovies(list(movieTitled(STAR_WARS)));}
  15. 15. FAKE DZIAŁAJĄCA,ALE UPROSZCZONA IMPLEMENTACJA
  16. 16. Bibliografia● Gerard Meszaros, xUnit Test Patterns, Addison- Wesley 2007● http://xunitpatterns.com/● http://martinfowler.com/articles/mocksArentStub s.html
  17. 17. DZIĘKUJĘ Zdjęcia:[8] http://xunitpatterns.com/Types%20Of%20Test%20Doubles.gif[9] http://www.flickr.com/photos/lincolnblues/1413187481[10,11]http://www.flickr.com/photos/21123209@N06/2460486552/[14] http://www.flickr.com/photos/dunechaser/2630433944

×