Ich kann das nicht testen mit phpunit: kann Datei Nicht öffnen "autoload.php"
Config :
- PHPUNIT: 4.5.0
- PHP : 5.4.12
- Server: Xampp
- Komponist: version 1.0-dev 2015-02-17 21:55:44
Komponist.json :
{
"require-dev": {
"phpunit/phpunit": "4.5.*"
}
}
autoload.php :
<?php
date_default_timezone_set("Europe/Paris");
require __DIR__.'/vendor/Symfony/Component/ClassLoader/UniversalClassLoader.php';
use Symfony\Component\ClassLoader\UniversalClassLoader;
$loader = new UniversalClassLoader();
$loader->registerNamespaces(array(
'Hangman' => __DIR__.'/src',
'Symfony' => __DIR__.'/vendor',
));
$loader->register();
phpunit.xml :
<?xml version="1.0" encoding="UTF-8"?>
<!-- http://phpunit.de/manual/4.1/en/appendixes.configuration.html -->
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.1/phpunit.xsd"
backupGlobals="false"
colors="true"
bootstrap="autoload.php"
>
<testsuites>
<testsuite name="hangman">
<directory>tests/Hangman/Tests</directory>
</testsuite>
</testsuites>
<filter>
<blacklist>
<directory>vendor</directory>
</blacklist>
</filter>
</phpunit>
Problem :
Ich ausgeführt : phpunit --bootstrap autoload.php tests
Mein Fehler : Cannot open file "autoload.php"
Können Sie mir helfen ?
- Sie nicht brauchen, um geben Sie die bootstrap-Datei beim ausführen von phpunit, wie es bereits in der phpunit.xml Datei. Versuchen Sie es mit einem absoluten Pfad.
- versuchen, auszuführen Komponist dumpautoload in der Eingabeaufforderung oder git bash
Du musst angemeldet sein, um einen Kommentar abzugeben.
Arbeite ich mit PHPUnit 7 und basis auf, die ich erwähnt habe, die Lösung in die unten, die ist getestet und zu 100% funktionierende
Wenn Sie windows-Benutzer sind, dann geben Sie den folgenden auf der cmd:
"vendor/bin/phpunit" --bootstrap ./vendor/autoload.php ./tests/EmailTest
Sicher, ich habe aktualisiert ./bevor Verkäufer und tests.
Könnte Ihnen
bootstrap="vendor/autoload.php"
versuchen in Ihremphpunit.xml
. Dann PHPUnit und Ihre Tests verwenden Sie die Composer-Autoloader.Oder Sie könnten verlangen, den Composer-Autoloader (neben Symfony ' s UCL) in Ihrem
autoload.php
durch hinzufügenrequire 'vendor/autoload.php';
. Dies führt zu zwei Autoloader registriert werden.Führen:
composer update
- zu Holen, Abhängigkeiten und den Wiederaufbau der autoloading-Dateienphpunit
- zur Ausführung eines TestlaufsSie nicht brauchen, um ausführen
phpunit
mit--bootstrap
, denn die Richtlinie ist bereits in Ihrem phpunit.xml.Ich denke, dass Ihr Ordner layout ist nicht richtig.
Beginnen Sie mit diesem:
phpunit
zu denrequire-dev
Abschnitt Ihres Komponisten.json"bin-dir" : "bin"
, so dass phpunit.Fledermaus lebt inc:\wamp\www\yourproject\bin\phpunit.bat
und nicht inc:\wamp\www\yourproject\vendor\bin\phpunit.bat
composer install
oder updatec:\wamp\www\yourproject\bin\phpunit.bat -c c:\wamp\www\yourproject\tests\phpunit.xml.dist
phpunit autoload.php tests
nurphpunit
, wenn Sie eine xml-config-Datei in demselben Ordner. Auch die Ordner-Struktur (C:\wamp\www\phpunit\vendor\bin
) gibt an, dass Sie nicht in Ihr Projekt (es sei denn, Sie wollen Arbeit auf phpunit selbst). In anderen Worten: sollte Ihr Projekt live imC:\wamp\www\yourproject
und das automatische laden lebt beiC:\wamp\www\yourproject\vendor\autoload.php
.