Tags
This section explains the tagging system used for Cypress and Cucumber tests. Tags help categorize and selectively run tests based on environments, test stability, or purpose.
Tag Descriptions
- @stable_test: Tests that are stable and expected to pass in all environments.
- @regression_test: Tests run before a release to ensure core functionality.
- @school_api_test: Tests interacting with the school API.
- @staging_test: Tests specific to the staging environment.
- @pr: Tests run during the CI process for Pull Requests.
- @unstable_test: Tests that may fail intermittently due to environmental factors.
- @group-A / @group-B: Tags for grouping tests in parallel execution.
- @schedule_run: Tests tagged for scheduled runs in CI.
- @clean_up_staging_test_data: This tag is used for a test run, which removes all courses that were created by cancelled or failed test runs before.
Tag Hierarchy
- Feature-level tags apply to all scenarios within that feature, unless overridden at the scenario level.
Examples:
-
@regression_test & @stable_test@regression_testFeature: Account Management@stable_testScenario: Edit email as an internal userGiven I am logged in as an internal userWhen I navigate to the account settingsThen I should see that my email is editable -
@unstable_test@unstable_testFeature: Add-ons ManagementScenario Outline: Access Add-ons pageGiven I am logged in as '<user_role>'When I navigate to the Add-ons pageThen I should see the Add-ons interfaceExamples:| user_role || admin || teacher | -
@school_api_test & @staging_test@regression_test@stable_testFeature: User ManagementScenario: Admin manages usersGiven I am logged in as an adminWhen I add a new userThen the user should appear in the list@school_api_testExamples: School API| user_role | user_email || admin | admin@school.com |@staging_testExamples: Staging| user_role | user_email || teacher | teacher@staging.com | -
@pr@prFeature: Critical PathsScenario: Verify homepage loadsGiven the application is deployedWhen I navigate to the homepageThen the homepage should load correctly
For detailed information on the full usage of tags, please refer to the full documentation in README.