ferdynator
ferdynator

Reputation: 6410

PhpUnit unable to locate test files

I am currently developing a rather large web application that uses Silex as a backend. I have added PHPUnit to the project created a simple test case:

class IndexControllerText extends BaseControllerTest
{
    public function testIndexPage()
    {
        $this->assertTrue(true);
    }
}

My BaseControllerTest is used to create the Application as described in the docs:

<?php
namespace VendorName\AppName\Tests;

use Silex\WebTestCase;
use Symfony\Component\HttpKernel\HttpKernel;

abstract class BaseControllerTest extends WebTestCase
{
    public function createApplication()
    {
        $app = require __DIR__ . '/../../../../app/bootstrap.php';
        $app['debug'] = true;
        $app['exception_handler']->disable();

        return $app;
    }
}

My app/bootstrap.php loads the composer autoloader:

<?php

require_once __DIR__ . '/../vendor/autoload.php';

$app = new Silex\Application();

require_once __DIR__ . '/config.php';
require_once __DIR__ . '/routing.php';

return $app;

And finally there is my phpunit.xml in my project root. See this gist.

Unfortunately when I run phpunit -c phpunit.xml the result says:

No tests executed!

When I run the IndexControllerTest directly:

phpunit -c phpunit.xml src/VendorName/AppName/Tests/IndexControllerText.php

It runs the test and returns success as expected. I am pretty sure it's a configuration error within my phpunit.xml but I can't seem to figure it out.

<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
     backupStaticAttributes="false"
     colors="true"
     convertErrorsToExceptions="true"
     convertNoticesToExceptions="true"
     convertWarningsToExceptions="true"
     processIsolation="false"
     stopOnFailure="false"
     syntaxCheck="false"
>
<testsuites>
    <testsuite name="YourApp Test Suite">
        <directory>./tests/</directory>
    </testsuite>
</testsuites>
</phpunit>

Upvotes: 1

Views: 481

Answers (1)

Sven
Sven

Reputation: 70863

I sense a typo:

IndexControllerText

This probably should be TEST with an S, not TEXT with an X.

Upvotes: 1

Related Questions