dongxizhe9755 2013-02-15 14:21
浏览 120
已采纳

从phar运行的PHPUnit无法正常工作[关闭]

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

}
  • 写回答

1条回答 默认 最新

  • du3979 2013-02-15 14:27
    关注

    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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?