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
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

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

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