Как превратить создание фикстур в интересное занятие

Всем разработчикам приходится помимо кода писать и тесты на него. Неотъемлемой и не самой увлекательной частью этого процесса является создание фикстур. Однако написание фикстур может быть не только монотонным скучным занятием, но и интересным. И я хочу показать как этого достичь.
test

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

Однажды я полдня писал фикстуры и это меня изрядно утомило. Мне пришла в голову одна идея. Скучное занятие написания фикстур можно сделать интересным и даже любимым, если при написании фикстур привлечь творческий элемент и использовать в фикстурах данные имеющие для вас какую-то ценность. Это могут быть имена, даты, названия, топонимы. Превратите написание и чтение фикстур в увлекательный процесс сродни чтению книги.

Я часто заимствую данные из любимых книг: Толстой, Гессе, Селин, Цвейг, Вулф, Фолкнер, Жуль Верн, Довлатов, Турнье, Бродский, Ницше, Солженицын, Фромм, Сэлинджер, По, Кондрат, Джойс, Фаулз, Кафка, Керуак, Хемингуэй, Манн, Берроуз, Сартр, Мердок, Голдинг, Гофман, Достоевский - это целый мир по сложности и объемности мало уступающий нашей реальности.

В свое время на меня произвела большое впечатление книга Германа Гессе “Игра в бисер”. Это роман о будущем, в котором люди уже не создают новое, а для интеллектуального “развлечения” используют причудливые компиляции, составленные на основе культуры прошлого - так называемая игра в бисер.

Фикстуры могут стать отличным каркасом для вашей “игры в бисер”. Тесты так как от них не зависит напрямую боевой код дают много свободы для творчества, и при желании в них можно вложить намного больше себя, чем в код.

Попробуйте вместо стандартных имен вида “name123” использовать имена ваших любимых героев, или персонажей книги, которую вы сейчас читаете. Это сделает безликие данные чуть более одушевленными. В фикстурах можно закодировать целую историю со своим сюжетом и смыслом, своеобразным образом вернув к жизни персонажей из ваших любимых книг. И возможно вернувшись к этим тестам через некоторое время вы сами улыбнетесь.

У ваших коллег появится возможность прочитать что-то новое, используя оставленные вами данные, как ссылки на первоисточники (которые без вас они бы возможно никогда не прочли), а у вас же появится дополнительный повод узнать как пишутся имена ваши любимых героев на других языках, и вместо траты времени впустую на тупую генерацию данных, использовать его с пользой для себя, лишний раз подняв в памяти когда-то прочитанное.