Запитання з тегом «unit-testing»

Тестування одиниць - метод, за допомогою якого окремі одиниці вихідного коду тестуються, щоб визначити, чи вони придатні для використання.

11
Чи погана практика змінювати код строго для тестування
Я маю дискусію з колегою-програмістом про те, чи є хорошою чи поганою практикою змінювати робочий фрагмент коду лише для того, щоб зробити його перевіряемим (наприклад, через одиничні тести). На мою думку, це нормально, в межах дотримання хороших об'єктно-орієнтованих та звичайно практичних програмних технологій (не "оприлюднення все" тощо). Думка мого колеги …

10
Чи є сенс писати тести на застарілий код, коли немає часу на повне рефакторинг?
Я, як правило, намагаюся дотримуватися порад книги, що працює ефективно з Legacy Cod e . Я розбиваю залежності, переміщую частини коду до @VisibleForTesting public staticметодів і до нових класів, щоб зробити код (або хоча б якусь його частину) перевіряемою. І я пишу тести, щоб переконатися, що нічого не зламаю, коли …

7
Написання тестів за існуючим кодом
Припустимо, одна мала порівняно велику програму (скажімо, 900k SLOC у C #), всі коментували / документували ретельно, добре організовано та працювали добре. Вся база коду була написана одним старшим розробником, який більше не працює з компанією. Весь код перевіряється таким, як є, і IoC використовується протягом усього періоду - за …

7
Різниця між тестуванням одиниць та розробкою тестового керування
Читаючи описи, я розумію, що тести TDD робляться до написання функції, а в Unit Testing - після цього. Це головна відмінність, або два терміни навіть не можна порівняти як такі. Можливо, Unit Testing є складовою частиною TDD.

7
Чи достатньо використовувати тести прийняття та інтеграції замість одиничного тесту?
Короткий вступ до цього питання. Я використовую TDD і останнім часом BDD вже більше року. Я використовую такі методи, як глузування, щоб зробити письмові тести ефективніше. Останнім часом я розпочав особистий проект, щоб написати для себе невелику програму управління грошима. Оскільки у мене не було застарілого коду, це був ідеальний …

10
Чи варто перевірити всі наші методи?
Тому сьогодні я поспілкувався зі своїм товаришем по команді про тестування підрозділу. Вся справа почалася, коли він запитав мене: «ей, де тести для цього класу, я бачу лише один?». Весь клас був менеджером (або службою, якщо ви віддаєте перевагу називати його так), і майже всі методи просто делегували речі в …

9
Як написати «добрі» одиничні тести?
Запущений цією ниткою , я (знову) замислююся про те, щоб нарешті використати одиничні тести у своїх проектах. Кілька плакатів там говорять щось на кшталт "Тести класні, якщо вони хороші тести". Моє запитання зараз: Що таке "хороші" тести? У моїх програмах основна частина часто - це чисельний чисельний аналіз, залежно від …

7
Покриття коду виділяє невикористані методи - що мені робити?
Мені доручено збільшити охоплення коду існуючого проекту Java. Я помітив, що інструмент покриття коду ( EclEmma ) виділив деякі методи, які ніколи не викликаються з будь-якого місця. Моя початкова реакція - не писати одиничні тести для цих методів, а виділити їх моєму лінійному менеджеру / команді і запитати, чому саме …

11
Чи прийнятні магічні числа в одиничних тестах, якщо цифри нічого не означають?
У своїх тестових одиницях я часто кидаю довільні значення на свій код, щоб побачити, що він робить. Наприклад, якщо я знаю, що foo(1, 2, 3)має повернутися 17, я можу написати це: assertEqual(foo(1, 2, 3), 17) Ці числа суто довільні і не мають ширшого значення (наприклад, це не є граничними умовами, …

5
Чи є сенс одиничних тестів, які заглушають і знущаються над усім загальнодоступним?
Під час тестування одиничних тестів "правильним" способом, тобто стримування кожного публічного дзвінка та повернення заданих значень або макетів, я відчуваю, що насправді нічого не перевіряю. Я буквально дивлюся на свій код і створюю приклади, засновані на потоці логіки через свої публічні методи. І кожного разу, коли реалізація змінюється, мені доведеться …

9
Як написати одиничні тести перед рефакторингом?
Я прочитав кілька відповідей на запитання в подібному рядку, як-от "Як ви підтримуєте тести своїх пристроїв під час рефакторингу?". У моєму випадку сценарій трохи відрізняється тим, що мені дали проект переглянути та привести у відповідність до деяких стандартів, які ми маємо, на даний момент для проекту немає тестів взагалі! Я …

7
Чи необхідна ін'єкція залежності для одиничного тестування?
Чи важливе використання ін'єкцій залежностей (DI) для тестування одиниці? Я не можу придумати іншу альтернативу виділення коду, щоб він міг бути перевірений. Також усі приклади, які я коли-небудь бачив, використовують цю схему. Це тому, що це єдиний життєздатний варіант чи є інші альтернативи?

5
Які принципи дизайну просувають тестуваний код? (розробка тестового коду проти водіння дизайну за допомогою тестів)
Більшість проектів, над якими я працюю, розглядають розробку та тестування одиниці окремо, що робить написання одиничних тестів на пізньому випадку кошмаром. Моя мета - мати на увазі тестування під час самих фаз проектування високого та низького рівня. Я хочу знати, чи існують якісь чітко визначені принципи дизайну, які сприяють пробному …

16
Чому б не написати всі тести одразу під час виконання TDD?
Цикл червоний - зелений - Refactor для TDD добре встановлений і прийнятий. Ми пишемо один невдалий одиничний тест і пропускаємо його як можна простіше. У чому полягають переваги такого підходу у написанні багатьох невдалих одиничних тестів для класу та змушення їх пройти за один раз. Тестовий набір все ще захищає …

4
TDD - Зовні в та проти
Яка різниця між створенням програми Outside In проти побудови її Inside Out за допомогою TDD? Це книги, які я читав про тестування TDD та модулів: Тестова розробка: за прикладом розробки тестових програм: Практичний посібник: Практичний посібник Рішення в реальному світі для розробки високоякісних рам PHP та програм для тестових програм …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.