Actions

Testing Area/Behat Testing/Basics: Difference between revisions

From Mahara Wiki

< Testing Area‎ | Behat Testing
No edit summary
No edit summary
Line 4: Line 4:
Confident coding? Skip to here:[http://docs.behat.org/en/v2.5/guides/1.gherkin.html]
Confident coding? Skip to here:[http://docs.behat.org/en/v2.5/guides/1.gherkin.html]


Behat tests are written in Gerkin language, which is English readable. You write the test in a text editor like Vim, Gedit or Eclipse. For beginners, Gedit is reccomended.  
Behat tests are written in Gerkin language, which is English readable. You write the test in a text editor like Vim, Gedit or Eclipse. For beginners, Gedit is reccomended. Open your editor.
To write the test start with the feature, you are about to click around Mahara and test an area so say:
To write the test start with the feature. The purpose of the Feature is to say what you are testing and what you gain from testing that feature.


   Feature: Creating a Portfolio page <- (the point of the test)
   Feature: Creating a Portfolio page <- (the point of the test)
Line 12: Line 12:
   So I can save my work on my Portfolio page <- (How you benefit from it)
   So I can save my work on my Portfolio page <- (How you benefit from it)


The Scenario and folling steps are the actual test.


 
   Scenario: Creating a Portfolio page <- (Describe what you are about to do to test it works)  
   Scenario: Creating a Portfolio page <- (Describe what you are about to do to test it works)
   Given (Setting the scene, these are you pre conditions)
   Given (Setting the scene, these are you pre conditions)
   And  (Use as many And's as you need to set the pre conditions)
   And  (Use as many And's as you need to set the pre conditions)
Line 27: Line 27:
Behat test example:
Behat test example:


   Feature: Creating a Portfolio page
   Feature: Creating a Portfolio page  
   In order to have a Portfolio Page in Mahara
   In order to have a Portfolio Page in Mahara
   As a student
   As a student

Revision as of 09:53, 16 December 2014

How to write a Behat test

Confident coding? Skip to here:[1]

Behat tests are written in Gerkin language, which is English readable. You write the test in a text editor like Vim, Gedit or Eclipse. For beginners, Gedit is reccomended. Open your editor. To write the test start with the feature. The purpose of the Feature is to say what you are testing and what you gain from testing that feature.

 Feature: Creating a Portfolio page <- (the point of the test)
 In order to have a portfolio page in Mahara <- (What you are wanting to do)
 As a student <- (Who you are logging in as eg student, admin, institution admin)
 So I can save my work on my Portfolio page <- (How you benefit from it)

The Scenario and folling steps are the actual test.

 Scenario: Creating a Portfolio page <- (Describe what you are about to do to test it works) 
 Given (Setting the scene, these are you pre conditions)
 And  (Use as many And's as you need to set the pre conditions)
 When (This is an action you do like clicking or pressing a button)
 And  (Use as many And's as you need to describe the action you are doing like pushing 10 buttons to get to the place you want)
 Then (This is the achieveable outcome. Often it's what you see when the link you clicked worked.) 
 And  (Use as many And's as you need) 

Write down every link you click and every button you pushed to create the page using the specific Behat syntax from this page [2]. These are you Given, And, When and Then steps.

Behat test example:

 Feature: Creating a Portfolio page 
 In order to have a Portfolio Page in Mahara
 As a student
 So I can save my work on my Portfolio page
Scenario: Creating a Portfolio page 
 Given I am logged in as the user "admin" with password "Password1"
 And I follow "Porfolio"
 And I follow "Pages"
 When I press "Create page"
 And I fill in the following:
 | Page title | This is where you put the title of the page |
 | Page description | This is where you type the description of the page |
 And I press "Save"
 And I press "Done"  
 Then I should see "This is where you put the page title"

Commenting