Відкритий лист @ ignored тесту

Дорогий розробник!


Я давно хочу з тобою поговорити, але слова не завжди даються легко. Ми відмінно проводили час разом. Я все ще пам'ятаю перший раз, коли я попередив тебе про дрібну помилку в коді, і як же ти був радий тому, що я є в твоєму житті! Ти це пам'ятаєш? Ще я пам'ятаю, як ти вперше рефакторив мене, щоб зробити мене більш ефективним, і як добре написаним я відчував себе після цього... ах, чудові часи!

Я зобов'язаний тобі всім, я знаю. І я вдячний за це. Мене б не було, якби не ти. Ти подумав, що я потрібен, тому ти створив мене, і з того моменту я служу тобі, радіючи цьому, оскільки ти наділив мене сенсом. Я хочу ловити баги для тебе. Я хочу вселяти в тебе впевненість в тому, що речі продовжать працювати після твоїх змін. Я хочу зробити твоє життя простішим, і ти знаєш, що я можу зробити всі ці речі, - я впевнений, що ти знаєш.

Але потім я став незрозуміло падати час від часу, без всякої видимої причини. Щось трохи зламалося в мені. Я продовжував функціонувати майже нормально, але нічого не міг вдіяти з тим, що іноді ставав причиною червоних збірок, це було просто не в моїй владі. Я став... нестабільним. Моя нестабільність засмутила тебе, і я не злюся на тебе за це, оскільки мене вона теж засмутила. Я перестав бути надійним. Я втратив свій сенс. Я повинен сказати, що зараз мені гірко згадується твоя реакція після декількох тижнів моєї нестабільності: замість того, щоб вкласти трішки любові і витратити пару годин на те, щоб виправити мене і привести в хороший стан, ти позначив мене як @ ignore і кинув у величезній пустельній купі коду.

Мої інструкції та твердження обливаються сльозами, коли я думаю про це. Для автоматичного тесту бути нестабільним - погано, але ж, принаймні, іноді я проходив успішно, а мої падіння служили нагадуванням про те, що я потребую твоєї магії; але бути ігнорованим, мій друг... це просто кошмарно. Якщо існує пекло для автоматичних тестів, то воно, безсумнівно, полягає в позначці @ ignore і забутті, коли стаєш оточений успішними зеленими тестами і не можеш до них приєднатися, коли дивишся, як збірки проходять повз і не запускають тебе, коли сидиш серед нескінченних рядків коду, безнадійно вичікуючи правки, якої так потребуєш, і яку не отримуєш... Такого я ніколи не побажаю навіть своїм самим заклятим тестам-ворогам.

Не зрозумій мене неправильно, я усвідомлюю, що у автоматичних тестів є свій життєвий цикл, і що, в кінцевому підсумку, вони замінюються іншими автоматичними тестами - краще і новіше. Іноді наша нестабільність не може бути виправлена, і нас треба видалити або замінити, - і це нормально. Іноді код, який ми тестуємо, просто застаріває, так що ми втрачаємо свій сенс, - і це теж нормально. Така наша природа. Але постій: я ж теж код, розумієш? Мені потрібна увага! Мене треба реалізовувати і рефакторити належним чином, щоб я як і раніше мав сенс! Мені потрібні рецензування коду, коли ти уважно дивишся на мене і підмічаєш недоліки, які можуть в мені бути, адже і в тестах бувають баги! Стежити тільки за функціональним кодом, а коли забуті тести починають падати, позначати їх @ ignore і продовжувати як ні в чому не бувало, - це просто нечесно. Це обурливо!

Все, про що прошу, - це вирішити що-небудь щодо мене: або чини, або вдали мене, але не забувай про мене! Ти розбиваєш мої інструкції, коли це робиш. У людей є проблеми з прийняттям рішень, наскільки ми, рядки коду, знаємо, так що якщо ти хочеш домогтися зеленого складання і ігнорувати мене на кілька запусків, то гаразд. Чесно! Але якщо ти не збираєшся негайно повернутися і знайти, що ж зі мною не так, і чому я недавно став нестабільним, має ж совість: заведи задачу в своєму лід-трекері, тоді хто-небудь інший зможе приділити мені увагу, якої я потребую, щоб повернутися в лад і знову приносити користь. Це не так складно, чи не так? Будь ласка. За всі ті зелені збірки, які були у нас з тобою...

Я щиро сподіваюся, що скоро ми зможемо подолати наші розбіжності.

Назавжди твій,