Рецензия: The Art of Unit Testing: With Examples in .NET

The Art of Unit Testing: With Examples in .NETКнига The Art of Unit Testing: With Examples in .NET под авторством Roy Osherove попала в мой список прочтения достаточно давно, но из-за других не менее важных и интересных книг руки (да и голова) до нее дошли только сейчас.

Начиная с самых первых строк книги Рой начинает вбивать в мозг читателя почему юнит-тесты важны и писать их нужно правильно. Что значит писать правильно? Тесты должны располагаться в нужном месте с правильными именами и должны содержать правильную структуру.

Для именования тестов необходимо следовать такому шаблону:

[Название метода]_[Что проверяем в тесте ]_[Ожидаемый результат]

Представим, что у нас есть метод GetUser(int userId) который возвращает пользователя. Для него мы можем написать два теста

public void GetUser_WithIdLessThanZero_ReturnsNull()
{
// Тело теста
}
public void GetUser_WithIdMoreThanZero_ReturnsUser()
{
// Тело теста
}

По имени теста мы можем понять, что мы в тесте происходит и что мы ожидаем получить. Согласитесь, это более описательно нежели GetUserTest(), GetUserTest2() и т.д.

Рой не забыл в книге уделить внимание различиям между stub и mock, unit-test и integration test. Большое внимание в книге уделено описанию существующих библиотек для тестирования приложений, рассмотрены методы по созданию тестируемого дизайна.

Кажется, в этой книге есть все что нужно и ничего лишнего. Тем, кто уже успешно применяет юнит тесты в своей работе данная книга вряд ли поведает что-то новое, тем же кто еще слабо знаком с тестированием кода или  не определился писать тесты или нет. В обязательном порядке стоит прочитать данную книгу.