Testing Area/Behat Testing/Characteristics of a good test
From Mahara Wiki
< Testing Area | Behat Testing
How to write a good test
Template
Copy and paste into your text editor and remember to save in the right directory and as a .feature file
Single scenario on a page
@javascript @core Feature: In order to As an So I can Scenario: Given And When And Then
Multiple scenarios on one page.
@javascript @core Feature: In order to As an So I can Background: Given And And And @core_ Scenario: Given And When And Then @core_ Scenario: Given And When And Then
Tags
The tags are how we run the tests, to run a group of tests on Jenkins at once we identify the ones to run by the tag.
- Always attach an @javascript tag to the top of the page. This will run all the scenarios on the page, don't tag each scenario with @javasript. One at the top is enough.
- If it's testing a core feature tag it @core, this will be all tests except 3rd party plugins.
- Tags at the top of the page, run all the scenarios on the page.
- Tags on the scenarios just run those scenarios.
- If there are multiple scenarios on the page and they are testing are testing multiple parts of a feature, tag the top of the scenario appropriately.
Feature
Good features clearly explain what you are trying to do. If you are using a bug from Launchpad to write the test, use the title of the bug in the title of the feature.
Feature: Creating a group In order to create a group As a student So I can become a part of the group and share my work
- The first line of the feature is the title of what you are testing
- In order to do something specific
- As an, who you are logging in as (remember if you are logggin in as a student you first need to have the student account created, use the background for this)
- So I can, tell us what the end game is here. So you can do what?
Background
Scenario
Steps