Acceptance testing for the Moodle App
In order to run tests that carry out automated functionality testing for the Moodle App, you can write Acceptance tests. This can be useful if you want to test plugins that are compatible with the app, or you're contributing to the app core. Behat tests for the app work the same way as tests for Moodle core, but they are not run as part of a normal Behat execution and there are some differences that we'll go through in this page.
Behat
This page describes the internals of Behat and the integration with Moodle.
Browsers
This page complements Behat providing info about how to run the acceptance tests suite in different browsers.
Development process
A summary of the various development processes used in Moodle development.
Moodle App Development process
The development of new features and improvements in the Moodle App is organised in the following six phases:
Overview
This page gives an overview of the process of developing Moodle and outlines some of the basic concepts to better understand this Developer documentation.
PHPUnit
PHPUnit by Sebastian Bergmann is an advanced unit testing framework for PHP. It is installed as Composer dependency and is not part of Moodle installation. To run PHPUnit tests, you have to manually install it on your development computer or test server.
QA testing
All the information related to the Qualify Assurance tests during the Moodle development.
Running acceptance tests
Moodle uses Behat, a php framework for automated functional testing, as part of a suite of testing tools.
Testing
All the information related to testing during the Moodle development.
Testing credits
The following people have helped with Quality Assurance (QA) testing:
Testing of integrated issues
All the information related to the integration review process during the Moodle development.
Tracker introduction
A summary of the most common actions in Moodle tracker.
Unit testing for the Moodle App
Unit tests are written in JavaScript using Jest. If you want to create a new one, Jest is already configured and you only need to create a file ending with .test.ts within the project. If you're going to do so, remember to follow the file location conventions.
Working combinations of OS+Browser+selenium
As OS, Browsers and Selenium keeps updating, some combination might fail on different Moodle releases.
Writing acceptance tests
This documentation gives some hints on writing behat tests for Moodle core, and for plugins. The focus of the documentation is on behat tests for plugins. Behat Features and Scenarios are written in a natural language, and should