PHPUnit problem - ingen feilmeldinger

stemmer
12

Jeg har prøvd å løse dette problemet for en stund.

Jeg har en enkel PHPUnit test med 2 tester. Når jeg kjører det, får jeg denne produksjonen:

PHPUnit 3.5.14 by Sebastian Bergmann.

.

Så det første påstanden går, passerer. Den andre påstanden, men fører til at noen PHP-feil (unntak eller noe), og PHPUnit bare dør uten noe info om hva som kan ha gått galt.

Her er mitt phpunit.xml:

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

<phpunit backupGlobals=false
    backupStaticAttributes=false
    colors=false
    convertErrorsToExceptions=true
    convertNoticesToExceptions=true
    convertWarningsToExceptions=true
    processIsolation=false
    stopOnFailure=true
    syntaxCheck=false
    bootstrap=bootstrap.php.cache
>
    <testsuites>
        <testsuite name=Portal Test Suite>
            <directory>../src/OneSolution/Portal/*Bundle/Tests</directory>
        </testsuite>
    </testsuites>
</phpunit>

Innstilling syntaxChecktil trueikke gi noen ytterligere informasjon om feilen. Men det gjør print to ganger (før du kjører noen tester) somThe filename, directory name, or volume label syntax is incorrect.

???

Så, er det noen som har noen ideer hva jeg kunne gjøre for å gjøre PHPUnit rapport disse feilmeldinger (det --verbosealternativet hjalp ikke heller)?

EDIT: Jeg har funnet ut hva som er grunnen til at testen mislykkes. Det var en feilstavet metodenavn (jeg stoler for mye på kode bistå, antar jeg). Men dette betyr ikke løse hovedproblemet. Eventuelle advarsler, feil eller unntak ikke blir kjent med PHPUnit .

Publisert på 16/06/2011 klokken 21:27
kilden bruker
På andre språk...                            


2 svar

stemmer
15

OK, så hvis noen har problemer med å få ingen eller ufullstendig utgang fra PHPUnit kommandolinjen, dobbeltsjekke php.inikonfigurasjonsdirektiver:

  • error_reporting- bør settes til E_ALL | E_STRICTfor utviklingsmiljø
  • display_errors - bør settes til On
Svarte 17/06/2011 kl. 08:03
kilden bruker

stemmer
1

Jeg hadde det samme problemet, selv med all feilrapportering aktivert.

Jeg prøvde å sette echouttalelser i min test og setUpmetoder for å finne ut hvor det ble hengende, men de aldri dukket opp. Problemet viste seg å være PHP output buffering. Når jeg lagt følgende metode til min test:

protected function debug($text)
{
    echo "\nDEBUG: $text\n";
    flush();
    ob_flush();
}

og brukes $this->debug()i stedet for vanlig echo, var jeg i stand til å se mine debug uttalelser. En binær søk gjennom koden raskt førte til kilden til problemet (en ugyldig database ligaen, i mitt tilfelle).

Svarte 07/11/2014 kl. 17:15
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more