Як керувати неодиничними тестами в проекті?


9

У моєму проекті є якийсь код, який я особисто називаю tests, це не одиничні тести. Вони призначені для запуску, а результат повинен оцінюватися людиною. Я зробив це, тому що я роблю двигун фізики і під час розвитку мені потрібно було подивитися, що я роблю. Тому я зробив simulationпакет у своєму тестовому модулі. Це технічно одиничні тести, тому що в моделюванні використовується одиниця тестової бібліотеки, але я не маю на увазі виконувати їх, як мої фактичні одиничні тести.

Що я хотів би зробити, це відрізняти ці спеціальні тести від моїх одиничних тестів, тому що я хочу легко запустити всі одиничні тести. Я думаю, це трохи схоже на функціональні тести. Ви коли-небудь стикалися з випадком, коли вам довелося підготувати заявку на функціональні тести? Де ця функціональна підготовка до тесту (в основному мої імітації) повинна бути розміщена в проекті і як їх відрізнити від одиничних тестів?

Я в Java , так що я міг би змінити всі свої методи підписи @Test public void myNamedTest()до , public static void main(String[] args)але це буде трудомістким і менш практичним для мене , щоб використовувати мої моделювання.

Я використовую junitв gradleпроекті. Будь-яке рішення зі створення спеціальної тестової папки з gradleвітається.


2
Я думаю, що ви говорите про тестову установку, де ви можете запускати спеціальні тести. Вони існують стільки, скільки я пам'ятаю (30+ років) - можливо, навіть раніше. Зазвичай вони сидять в окремому проекті, який може отримати доступ до бібліотеки або будь-якого іншого, але ви можете структурувати його, як завгодно.
Роббі Ді

3
Терміни одиниця / інтеграція / функціональні тести описують обсяг тесту: що тестується. Це абсолютно незалежно від того, як виконуються ці тести, наприклад, ручні тести проти автоматизованих тестів. Тут можуть бути автоматизовані тести приймання та тести вручну, а також між ними. Тож якщо ви використовуєте JUnit для запуску функціональних тестів вручну, це абсолютно добре - просто тримайте їх якось окремо від автоматичних тестів, щоб вони не працювали за замовчуванням.
амон

Відповіді:


10

Схоже, пізніші версії тестів підтримки Junit. Вони можуть бути корисними для класифікації кожного тесту. Тоді, коли автоматизація збірки працює, вона може включати або виключати ті тести на основі категорії.

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

https://dzone.com/articles/closer-look-junit-categories

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