ОГЛЯД МОЖЛИВОСТЕЙ КАСТОМІЗАЦІЇ ФРЕЙМВОРКУ XUNIT ДЛЯ МОДУЛЬНОГО ТЕСТУВАННЯ .NET-ЗАСТОСУНКІВ - ЄВСЕЄНКО, ОЛЕГ; ЗУЄВ, АНДРІЙ (Herald of Khmelnytskyi National University. Technical sciences, 2025)
У статті досліджується ефективність застосування фреймворку xUnit для модульного тестування програмних рішень на платформі .NET. Актуальність теми обумовлена зростаючою потребою в якісному тестовому покритті коду в умовах стрімкого розвитку веб- і десктопних застосунків, а також активного впровадження компонентно-орієнтованих архітектур, зокрема Blazor. Проведено порівняльний аналіз xUnit з іншими популярними фреймворками, такими як NUnit і MSTest, з урахуванням критеріїв зручності використання, продуктивності, розширюваності та сумісності з CI/CD-пайплайнами. Описано типові сценарії використання xUnit у проєктах різного масштабу, включно з тестуванням API, класів бізнес-логіки та компонентів користувацького інтерфейсу. У результаті встановлено, що xUnit відзначається високою гнучкістю, широкою інтеграцією з сучасними інструментами розробки. Водночас деякі функціональні можливості, такі як повторний запуск тестів або інтеграція з зовнішніми джерелами даних, не реалізовано за замовчуванням і потребують сторонніх розширень або додаткової конфігурації. Огляд літератури показав, що автоматизація тестування є важливим елементом забезпечення якості програмного забезпечення, а також необхідним кроком у контексті розвитку складних програмних продуктів із великою кількістю залежностей. У практичній частині запропоновано підходи до розширення функціональності xUnit, зокрема використання кастомних атрибутів, власних механізмів категоризації тестів. Окрему увагу приділено створенню інфраструктури категоризації тестів із застосуванням атрибутів Trait, можливостям їх фільтрації у середовищі Visual Studio та виконання з командного рядка (CLI). Стаття може бути корисною як для початківців, так і для досвідчених розробників, які прагнуть оптимізувати процес модульного тестування в середовищі .NET.
Keywords: юніт-тест; автоматизоване тестування; фреймворк; xUnit; програмування; програмні засоби