質問

I need to run PHPUNit from PHAR instead of from Pear. The only output I'm getting is the help file. I don't see my test run at all. Here is my code:

<?php
include 'phpunit.phar';
include 'phar://phpunit.phar/phpunit.php';

class ArrayTest extends PHPUnit_Framework_TestCase
{

    public function setUp(){ }
    public function tearDown(){ }


    public function testNewArrayIsEmpty()
    {
        // Create the Array fixture.
        $fixture = array();

        // Assert that the size of the Array fixture is 0.
        $this->assertEquals(0, sizeof($fixture));
    }

}

And I'm running it like this:

$ php index.php

thanks

<<UPDATE>> After I ran this:

$ php phpunit.phar index.php

I got this error:

Class 'index' could not be found in '/home/ericp/public_html/dev/_test/phpunit/index.php'.

I fixed it by accident by adding "../" changing the path. I don't know why that fixed it, but it works. My index.php file is in the same directory as my phpunit.phar file. The working example looks like this:

<?php
include '../phpunit.phar';
include '../phar://phpunit.phar/phpunit.php';

class ArrayTest extends PHPUnit_Framework_TestCase
{

    public function setUp(){ }
    public function tearDown(){ }

    public function testNewArrayIsEmpty()
    {
        // Create the Array fixture.
        $fixture = array();

        // Assert that the size of the Array fixture is 0.
        $this->assertEquals(0, sizeof($fixture));
        $this->assertEmpty($fixture);
    }

}
役に立ちましたか?

解決

I'm not exactly sure about using the Phar of PHPUnit, but try the following on the command line:

php phpunit.phar index.php

I assume that PHPUnit is reading $argv to look up which tests to run.

Alternatively you may try creating a phpunit.xml.dist file in the directory, and running simply phpunit, which should do it.

As said, I have no idea about Phars

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top