Introduction

When something goes wrong we expect our testing framework, to provide valuable information to identify and solve as quickly as possible the issue.

HTML reports is one of Athena's strong point, as it provides detailed information; in case you run a test which uses Selenium, then screenshots and step by step information will be available.

JUnit and coverage reports in XML are available, for test cases which take advantage of PHPUnit calls. Such as browser, unit and api tests.

Pre-Steps

Inside your tests repository, enable reports by copy pasting the JSON-String below, in your athena.json file, and creating Report directory in the root level.

  "report" : {
    "format" : "html",
    "outputDirectory" : "./Report",
    "name" : "Custom_Name_From_Command_Line"
  }

This step is common across all test types.

BDD Reports

Go to your tests repository directory, and in your behat.yml insert the extensions shown below.

default:
    extensions:
        Athena\Behat\BootstrapFileLoader:
                bootstrap_path: "/opt/athena-php/bootstrap.php"

        Athena\Event\Proxy\BehatProxyExtension: ~

Athena requires BootstrapFileLoader for injecting it's bootstrap for autoloading, and BehatProxyExtension to dispatch Behat events to Athena.

Browser, API & Unit Tests Reports

Go to your tests repository directory and, if you don't have a phpunit.xml file, create one.

<?xml version="1.0" encoding="UTF-8"?>

<!-- http://www.phpunit.de/manual/current/en/appendixes.configuration.html -->
<phpunit
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/5.1/phpunit.xsd"
        backupGlobals="false"
        colors="true"
>

    <listeners>
        <listener class="\Athena\Event\Adapter\PhpUnitAdapter">
            <arguments>
                <object class="\Athena\Event\Dispatcher\DispatcherLocator"/>
            </arguments>
        </listener>
    </listeners>

    <testsuites>
        <testsuite name="My Test Suite">
            <directory>tests/t</directory>
        </testsuite>
    </testsuites>

</phpunit>

The listeners node must be present, without it Athena never receives PHPunit events.

Is important to remember that when you run your tests, you should point to the directory where your phpunit.xml is located. PHPUnit will read the information inside the xml and run the tests accordingly.

results matching ""

    No results matching ""