从phar运行的PHPUnit不工作

时间:2013-02-15 14:21:04

标签: php phpunit phar

我需要从PHAR而不是Pear运行PHPUNit。 我得到的唯一输出是帮助文件。我根本看不到我的测试。这是我的代码:

<?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));
    }

}

我正在运行它:

$ php index.php

感谢

&LT;&LT;的更新&GT;&GT; 我跑完之后:

$ php phpunit.phar index.php

我收到了这个错误:

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

我通过添加“../”更改路径来意外修复它。我不知道为什么修复它,但它确实有效。 我的index.php文件与我的phpunit.phar文件位于同一目录 。 工作示例如下所示:

<?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);
    }

}

1 个答案:

答案 0 :(得分:1)

我不完全确定使用PHPUnit的Phar,但在命令行上尝试以下操作:

php phpunit.phar index.php

我假设PHPUnit正在阅读$argv以查找要运行的测试。

或者,您可以尝试在目录中创建一个phpunit.xml.dist文件,然后只运行phpunit,这样就可以了。

如上所述,我不知道Phars