Top Banner
Clean & Quality unit tests
82

Clean and Quality Unit Tests

May 10, 2015

Download

Technology

Talk about readability and high quality of unit tests written in PHPUnit
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Clean and Quality Unit Tests

Clean & Quality unit tests

Page 2: Clean and Quality Unit Tests

Wojtek Zieliński

@codecleaner

Page 3: Clean and Quality Unit Tests

•  Names matters

•  Exceptions

•  Test Doubles

•  Stubbing Collections

•  Arrange Act Assert

What’s it all about?

Page 4: Clean and Quality Unit Tests

Names matters

Page 5: Clean and Quality Unit Tests
Page 6: Clean and Quality Unit Tests
Page 7: Clean and Quality Unit Tests
Page 8: Clean and Quality Unit Tests
Page 9: Clean and Quality Unit Tests
Page 10: Clean and Quality Unit Tests
Page 11: Clean and Quality Unit Tests
Page 12: Clean and Quality Unit Tests
Page 13: Clean and Quality Unit Tests

Test a single concept in each test function

Robert C. Martin

Page 14: Clean and Quality Unit Tests
Page 15: Clean and Quality Unit Tests
Page 16: Clean and Quality Unit Tests
Page 17: Clean and Quality Unit Tests
Page 18: Clean and Quality Unit Tests
Page 19: Clean and Quality Unit Tests
Page 20: Clean and Quality Unit Tests
Page 21: Clean and Quality Unit Tests
Page 22: Clean and Quality Unit Tests
Page 23: Clean and Quality Unit Tests
Page 24: Clean and Quality Unit Tests

Exceptions

Page 25: Clean and Quality Unit Tests
Page 26: Clean and Quality Unit Tests
Page 27: Clean and Quality Unit Tests
Page 28: Clean and Quality Unit Tests
Page 29: Clean and Quality Unit Tests
Page 30: Clean and Quality Unit Tests
Page 31: Clean and Quality Unit Tests
Page 32: Clean and Quality Unit Tests
Page 33: Clean and Quality Unit Tests
Page 34: Clean and Quality Unit Tests
Page 35: Clean and Quality Unit Tests
Page 36: Clean and Quality Unit Tests
Page 37: Clean and Quality Unit Tests

Test Doubles

Page 38: Clean and Quality Unit Tests
Page 39: Clean and Quality Unit Tests
Page 40: Clean and Quality Unit Tests
Page 41: Clean and Quality Unit Tests

How does getMock() really work?

•  Does Configuration class exist?

•  Create Mock_Configuration_123abc class extends Configuration class

•  Create instance of that class

•  Return instance

Page 42: Clean and Quality Unit Tests

How does getMock() really work?

•  Does Configuration class exist?

•  Create Mock_Configuration_123abc class extends Configuration class

•  Create instance of that class

•  Return instance

•  Create Configuration class

Page 43: Clean and Quality Unit Tests
Page 44: Clean and Quality Unit Tests
Page 45: Clean and Quality Unit Tests
Page 46: Clean and Quality Unit Tests
Page 47: Clean and Quality Unit Tests
Page 48: Clean and Quality Unit Tests
Page 49: Clean and Quality Unit Tests
Page 50: Clean and Quality Unit Tests
Page 51: Clean and Quality Unit Tests
Page 52: Clean and Quality Unit Tests
Page 53: Clean and Quality Unit Tests
Page 54: Clean and Quality Unit Tests
Page 55: Clean and Quality Unit Tests

Stubs provide canned answers to calls made during the test

"Mocks Aren’t Stubs" Martin Fowler

Page 56: Clean and Quality Unit Tests

Mocks are objects pre-programmed with expectations which form a specification of the calls they are expected to receive

"Mocks Aren’t Stubs" Martin Fowler

Page 57: Clean and Quality Unit Tests
Page 58: Clean and Quality Unit Tests
Page 59: Clean and Quality Unit Tests
Page 60: Clean and Quality Unit Tests
Page 61: Clean and Quality Unit Tests
Page 62: Clean and Quality Unit Tests
Page 63: Clean and Quality Unit Tests
Page 64: Clean and Quality Unit Tests
Page 65: Clean and Quality Unit Tests
Page 66: Clean and Quality Unit Tests
Page 67: Clean and Quality Unit Tests
Page 68: Clean and Quality Unit Tests
Page 69: Clean and Quality Unit Tests

Stubbing collections

Page 70: Clean and Quality Unit Tests
Page 71: Clean and Quality Unit Tests
Page 72: Clean and Quality Unit Tests

Arrange Act

Assert

Page 73: Clean and Quality Unit Tests
Page 74: Clean and Quality Unit Tests
Page 75: Clean and Quality Unit Tests
Page 76: Clean and Quality Unit Tests

It’s all about readability

Page 77: Clean and Quality Unit Tests
Page 78: Clean and Quality Unit Tests
Page 79: Clean and Quality Unit Tests

What’s next?

Page 80: Clean and Quality Unit Tests
Page 81: Clean and Quality Unit Tests
Page 82: Clean and Quality Unit Tests

Questions?

Wojtek Zieliński

@codecleaner