Отчёты и фильтрация тестов
Создавайте и анализируйте отчёты о тестах и учитесь фильтровать тесты для целевого выполнения.
«Отчёты и фильтрация тестов» — бесплатный урок Groovy & Gradle: JVM Automation and Build Engineering на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Groovy & Gradle: JVM Automation and Build Engineering, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Groovy & Gradle: JVM Automation and Build Engineering содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Understanding Test Outcomes
Test reports are essential for understanding the health of your project. They provide a clear summary of which tests passed, failed, or were skipped.
This insight helps developers quickly pinpoint issues, track progress, and ensure code quality. Without them, debugging would be much harder!
Automatic HTML Reports
When you run tests with Gradle, it automatically generates an interactive HTML report every time you run your tests. This feature is enabled by default when you apply the java or java-library plugin.
These reports offer a user-friendly interface to browse test results, making analysis straightforward.
Finding the Report File
After executing your tests using the test task, Gradle places the generated report in a specific directory. Look for build/reports/tests/test/index.html.
You can open this file directly in any web browser to view a comprehensive overview of your test run. To generate one, simply run: ./gradlew test
Exploring Report Details
The HTML report provides valuable details:
- Summary: Total tests, failures, and skipped tests.
- Test Classes: A list of all executed test classes.
- Individual Tests: Status and duration for each test method.
- Failure Details: Stack traces and error messages for failed tests.
This structure helps you drill down from a high-level overview to specific problem areas.
Running Specific Tests
Sometimes you don't need to run all tests. Perhaps you're debugging a specific feature or re-running a failed test.
Gradle allows you to filter which tests are executed, saving time and focusing your efforts. This is done using the --tests command-line option.
Filter by Class Name
To run all tests within a specific test class, provide its fully qualified name with the --tests flag.
For example, if you have a class named com.example.MyFeatureTest, you'd run:
./gradlew test --tests com.example.MyFeatureTestThis executes every test method inside that single class.
Execute a Single Method
You can get even more granular by specifying a particular test method within a class. Append the method name to the fully qualified class name.
If com.example.MyFeatureTest has a method testSpecificCase, use:
./gradlew test --tests com.example.MyFeatureTest.testSpecificCaseThis is extremely useful for focused debugging.
Using Wildcards in Filters
Gradle's --tests option supports wildcards (*) for more flexible matching. This allows you to run groups of tests that follow a pattern.
*IntegrationTest: Runs all classes ending with "IntegrationTest".com.example.*: Runs all tests in thecom.examplepackage and its subpackages.*.testFailure*: Runs any method named `testFailure` (or similar) in any class.
Multiple Filter Patterns
You can apply multiple --tests options in a single command. Gradle will run any test that matches at least one of the provided patterns.
For example, to run tests from two different classes:
./gradlew test --tests com.example.ClassA --tests com.example.ClassBThis provides powerful control over your test execution.
Quick Check: Filtering
Consider a project with a test class com.myapp.services.UserServiceTest containing methods testCreateUser and testDeleteUser.
Which Gradle command will run only the testCreateUser method?
Recap: Reports & Filtering
In this lesson, we explored the critical role of test reports in Gradle. You learned that:
- Gradle automatically generates detailed HTML test reports.
- These reports are found in
build/reports/tests/test/index.html. - You can filter test execution using the
--testsoption. - Filters can target classes, methods, or use wildcards for flexibility.
Mastering these techniques helps you efficiently manage and debug your test suite!
Часто задаваемые вопросы
Урок «Отчёты и фильтрация тестов» бесплатный?
Да — полный текст урока «Отчёты и фильтрация тестов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Groovy & Gradle: JVM Automation and Build Engineering, подпишись на CoddyKit PRO. Курс Groovy & Gradle: JVM Automation and Build Engineering содержит 4 уроков всего.
Чему я научусь в уроке «Отчёты и фильтрация тестов»?
Создавайте и анализируйте отчёты о тестах и учитесь фильтровать тесты для целевого выполнения. Ты практикуешь Groovy & Gradle: JVM Automation and Build Engineering с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Groovy & Gradle: JVM Automation and Build Engineering?
Предыдущий опыт не требуется. Groovy & Gradle: JVM Automation and Build Engineering на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Отчёты и фильтрация тестов»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Groovy & Gradle: JVM Automation and Build Engineering?
Да. Каждый урок Groovy & Gradle: JVM Automation and Build Engineering включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Модульное и интеграционное тестирование
- Отчёты и фильтрация тестов
- Покрытие кода и статический анализ
- Тестовые приспособления и общий код тестов