better unit testing

15
Unit Testing How to write better unit tests ARTEM TABALIN

Upload: artem-tabalin

Post on 21-Mar-2017

26 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Better Unit Testing

Unit Testing!How to write better unit tests!

ARTEM TABALIN!

Page 2: Better Unit Testing

Tests Classification!

Unit Tests!

Integration Tests!

Functional Tests (e2e)!!

!

AB

C

AB

C

AB

CD

Page 3: Better Unit Testing

Why Unit Testing?!•  Assurance of correctness!

•  Eliminates risk of changes!

•  Ensures better design!

•  Provides documentation!

•  Reduce debug time!

•  Makes to write loosely coupled code!

•  Gives confidence!

Page 4: Better Unit Testing

Unit Tests Best Practices!

Fast as possible!

Test first!

Arrange → Act → Assert!

Assert first!

Tests isolation!

Test doubles!

Page 5: Better Unit Testing

Arrange → Act → Assert!

Page 6: Better Unit Testing

Test Isolation!

Page 7: Better Unit Testing

Test Isolation!

Page 8: Better Unit Testing

Test Doubles!!

!

!

!

•  Isolate testing component!

•  Test integration (not only state)!

!

Dummy

Stub Spy Mock

Fake

Page 9: Better Unit Testing

Mockito!!

!

!

!

Page 10: Better Unit Testing

Mockito – Example!

Page 11: Better Unit Testing

Mockito - Mocking!

Page 12: Better Unit Testing

Mockito - Mocking!

Page 13: Better Unit Testing

Mockito - Verifying!

Page 14: Better Unit Testing

Mockito Limitations!

•  Final classes & methods!

•  Static methods!

•  Private methods!

•  Enums!

•  Primitive types!

•  Anonymous classes!

!

Page 15: Better Unit Testing

Thank you!!