При постійній інтеграції, що виконує тести на кожному коміті, загальною найкращою практикою є те, щоб усі тести проходили в усі часи (він же "не порушувати складання").
Я маю деякі проблеми з цим:
Наприклад, не можна допомогти проекту з відкритим кодом, створивши тести, відповідні білетам. Я знаю, якщо я запропоную Запит на виклик для проекту з відкритим кодом, що містить тест з ладу, збірка буде позначена як невдала, і проект не захоче, щоб він об'єднався у його сховище, оскільки це "зламає збірку".
І я не вірю, що погано пройти тестування у вашому репо , це не так, як відкриті проблеми у вашому трекері. Це лише речі, які чекають виправлення.
Те саме стосується компанії. Якщо ви працюєте з TDD, ви не можете писати тести, фіксувати і записувати логічний код, який відповідає тесту. Це означає, що якщо я написав 4-5 тестів на своєму ноутбуці, я не можу їх зробити перед святами. Ніхто не може забрати мою роботу. Я навіть не можу "поділитися" ними з колегою, за винятком надсилання, наприклад, електронною поштою. Це також перешкоджає роботі з однією людиною, яка пише тести, іншою пише модель.
Все, що я можу сказати, я зловживаю / нерозумію процес збирання / постійну інтеграцію? Мені здається, що "проїзд" / "не проходження" є надто вузьким показником.
Чи є спосіб зробити безперервну інтеграцію та сумісним TDD?
Можливо, є стандартне рішення / практика для розмежування "нових тестів" (які можуть не вдатися) та "регресійних тестів" (які не повинні провалюватися, оскільки вони працювали)?