Unit Testing


Working Effectively with Legacy Code
Test-Driven Development: By Example
xUnit Test Patterns: Refactoring Test Code
Unit Testing: Principles, Practices, and Patterns
The Art of Unit Testing: With Examples in .NET
Working Effectively with Unit Tests
Pragmatic Unit Testing in Java with JUnit
Growing Object-Oriented Software, Guided by Tests (Addison-Wesley Signature Series (Beck))
iOS Unit Testing by Example
Pragmatic Unit Testing in C# with NUnit
Чистый код: создание, анализ и рефакторинг (Библиотека программиста) (Russian Edition)
BDD in Action: Behavior-driven development for the whole software lifecycle
Test-Driven Development with Java: Create higher-quality software by writing tests first with SOLID and hexagonal architecture
PHPUnit Essentials
JUnit in Action, Third Edition
Martin Fowler
I write them to improve my productivity as a programmer. Making the quality assurance department happy is just a side effect. Unit tests are highly localized. Each test class works within a single package. It tests the interfaces to other packages, but beyond that it assumes the rest just works. Functional tests are a different animal. They are written to ensure the software as a whole works. They provide quality assurance to the customer and don't care about programmer productivity. They shoul ...more
Martin Fowler, Refactoring: Improving the Design of Existing Code

Vladimir Khorikov
Tests shouldn’t verify units of code. Instead they should verify units of behavior: something that is meaningful for the problem domain and ideally something that a business person can recognize as useful. The number of classes it takes to implement such a unit of behavior is irrelevant. The unit could span across multiple classes or only one class, or even take up just a tiny method. [...] A test should tell a story about the problem your code helps to share, and this story should be cohesive a ...more
Vladimir Khorikov, Unit Testing: Principles, Practices, and Patterns

More quotes...
Developer's Book Club A Book Club for Developers
1 member, last active 6 years ago