PHPUnit installieren

Saheeda

Mitglied
Hallo,

ich bekomme die Klasse PHPUnit_Framework_TestCase trotz mehrfacher Neustarts von Netbeans einfach nicht vorgeschlagen und verstehe nicht, wo mein Fehler liegt.
1. Ich habe unter C:\bin die Dateien phpunit.phar und phpunit.cmd (enthält nur die Zeile
@php "%~dp0phpunit.phar" %* )

2. Ich kann phpunit über die Konsole aufrufen (Version 3.7.21)

3. Die composer.json sieht so aus:
Code:
{
    "name": "symfony/framework-standard-edition",
    "license": "MIT",
    "type": "project",
    "description": "The \"Symfony Standard Edition\" distribution",
    "autoload": {
        "psr-0": { "": "src/", "SymfonyStandard": "app/" }
    },
    "require": {
        "php": ">=5.3.3",
        "symfony/symfony": "2.6.*",
        "doctrine/orm": "~2.2,>=2.2.3",
        "doctrine/doctrine-bundle": "~1.2",
        "twig/extensions": "~1.0",
        "symfony/assetic-bundle": "~2.3",
        "symfony/swiftmailer-bundle": "~2.3",
        "symfony/monolog-bundle": "~2.4",
        "sensio/distribution-bundle": "~3.0",
        "sensio/framework-extra-bundle": "~3.0",
        "incenteev/composer-parameter-handler": "~2.0"
    },
    "require-dev": {
        "sensio/generator-bundle": "~2.3",
        "phpunit/phpunit": "3.7.*"
//Anm. hier ne andere Versionsnummer einzutragen, bringt auch nix
    },
    "scripts": {
        "post-root-package-install": [
            "SymfonyStandard\\Composer::hookRootPackageInstall"
        ],
        "post-install-cmd": [
            "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::removeSymfonyStandardFiles"
        ],
        "post-update-cmd": [
            "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::removeSymfonyStandardFiles"
        ]
    },
    "config": {
        "bin-dir": "bin"
    },
    "extra": {
        "symfony-app-dir": "app",
        "symfony-web-dir": "web",
        "symfony-assets-install": "relative",
        "incenteev-parameters": {
            "file": "app/config/parameters.yml"
        },
        "branch-alias": {
            "dev-master": "2.6-dev"
        }
    }
}

4. Ich habe versucht in der Testklasse mit "require_once 'PHPUnit/Autoload.php';" zu arbeiten.

5. Die letzten beiden Einträge der PATH-Variable unter Systemvariablen sehen so aus:
"C:\Program Files (x86)\Git\cmd;C:\bin"
 
Ich habe dort den Verweis auf C:\bin\phpunit.phar gesetzt, unter Composer ist der Verweis auf C:\ProgramData\ComposerSetup\bin\composer.phar und von hier: https://github.com/sebastianbergmann/phpunit-skeleton-generator habe ich mir die phpunit-skelgen runtergeladen, als C:\bin\skelgen.phar gespeichert und im PHPUnit-Reiter mit verlinkt.

Die composer.json habe ich so aktualisiert und Netbeans neu gestartet.
Code:
 "require-dev": {
        "sensio/generator-bundle": "~2.3",
        "phpunit/phpunit": "3.7.21",
        "phpunit/phpunit-skeleton-generator": "*"
    },

PHPUnit wird trotzdem nicht gefunden :-/

Wenn ich auf eine Klasse klicke und "Create Test" auswähle, kommt das hier:
"C:\xampp\php\php.exe" "C:\bin\skelgen.phar" "--ansi" "generate-test" "Acme\ShopBundle\Controller\FormularController" "C:\xampp\htdocs\Hugin\src\Acme\ShopBundle\Controller\FormularController.php" "Acme\ShopBundle\Controller\FormularControllerTest" "C:\xampp\htdocs\Hugin\src\Acme\ShopBundle\Tests\Controller\FormularControllerTest.php"
You need to set up the project dependencies using the following commands:
wget http://getcomposer.org/composer.phar
php composer.phar install

Composer ist doch bereits installiert und der Verweis existiert auch?
 
Ich bin leider kein Stückchen schlauer.

PHPUnit kann ich über die Konsole aufrufen.
Composer ist installiert, die Diagnose über die Konsole liefert keine Fehler und in Netbeans habe ich im Kontextmenü meines Projektes den Punkt "Composer". Ich habe darüber ein Update durchgeführt, die Validierung liefert keine Fehlermeldung, aber den Hinweise, dass phpunit-code-coverage fehlt.

Ich habe versucht, über Add Dependencies PHPUnit (Version *) einzubinden, aber dann kommt das hier:

"C:\xampp\php\php.exe" "C:\ProgramData\ComposerSetup\bin\composer.phar" "--ansi" "--no-interaction" "require" "phpunit/phpunit:*"
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

Problem 1
- The requested package phpunit/php-code-coverage == 1.2.18.0 could not be found.
Problem 2
- Can only install one of: phpunit/php-token-stream[1.3.0, 1.2.2].
- Can only install one of: phpunit/php-token-stream[1.3.0, 1.2.2].
- phpunit/php-code-coverage dev-master requires phpunit/php-token-stream ~1.3 -> satisfiable by phpunit/php-token-stream[1.3.0].
- Installation request for phpunit/php-code-coverage dev-master -> satisfiable by phpunit/php-code-coverage[dev-master].
- Installation request for phpunit/php-token-stream == 1.2.2.0 -> satisfiable by phpunit/php-token-stream[1.2.2].

Potential causes:
- A typo in the package name
- The package is not available in a stable-enough version according to your minimum-stability setting
see <https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion> for more details.


Installation failed, reverting ./composer.json to its original content.
Done.
 
Zuletzt bearbeitet:
Zurück