system tests / QA
avatar javigomez
javigomez
16 Apr 2014

Any extension will need Joomla to be system tested, but if they are provided as a standalone package, how can we test them? The solution we found is to add joomla-cms as a GIT submodule. The first tests we run is the Joomla installer so we install Joomla. Then we install the extension, for example com_weblinks, using the install from folder installer. Finally we are ready to run the extension tests.

Me and @puneet0191 have already a working example. We will pull it here as soon as possible.

avatar javigomez javigomez - open - 16 Apr 2014
avatar javigomez
javigomez - assign - 16 Apr 2014
Assigned to javigomez
avatar b2z
b2z - comment - 3 Aug 2014
avatar eddieajau
eddieajau - comment - 3 Aug 2014

Short-term, that will work. Long term you need to think about "somehow" including all the dev-dependencies that are needed to test just this component in isolation (if you need the entire CMS to test this, it just shows how bad the architecture is). That probably means publishing the CMS library folder as a separate entity.

avatar javigomez
javigomez - comment - 4 Aug 2014

for system testing we need the CMS because we use a browser to click in all the buttons of the extensions, we will have soon an example based on "codeception" framework in the com_localise repository that hopefully could serve as example for this. Still work in progress.

The cool part is that we were able to run an Apache in Travis, so we can run the browser on every pull and test that nothing is broken.

Of course if we can also use other kinds of testing, like test directly the API we don't need the CMS, but I thing it would be awesome that we could do the system testing too. It will bring great value to quality.

avatar zero-24 zero-24 - change - 7 Jun 2015
Labels Added: ?
avatar javigomez
javigomez - comment - 29 Oct 2015

Closing. This issue was done already with: https://github.com/joomla-extensions/weblinks#tests

avatar javigomez javigomez - close - 29 Oct 2015

Add a Comment

Login with GitHub to post a comment