0

ZendFramework2入門」チュートリアルには、アプリケーションの基本的な単体テストの例があります。http : //zf2.readthedocs.org/en/latest/user-guide/unit-testing.htmlinclude __DIR__ . '/../init_autoloader.php';コードをコピーしたところ(に変更するだけでしたinclude __DIR__ . '/../../../init_autoloader.php';)、エラーが発生しました:

root@devmv:/var/www/sandbox/zf2sandbox/module/Application/test# phpunit 
PHPUnit 3.7.13 by Sebastian Bergmann.

Configuration read from /var/www/sandbox/zf2sandbox/module/Application/test/phpunit.xml

E

Time: 0 seconds, Memory: 3.75Mb

There was 1 error:

1) ApplicationTest\Controller\IndexControllerTest::testIndexActionCanBeAccessed
array_replace_recursive(): Argument #1 is not an array

/lib/ZendFramework/ZendFramework-2.1.0/library/Zend/Test/PHPUnit/Controller/AbstractControllerTestCase.php:144
/lib/ZendFramework/ZendFramework-2.1.0/library/Zend/Test/PHPUnit/Controller/AbstractControllerTestCase.php:173
/lib/ZendFramework/ZendFramework-2.1.0/library/Zend/Test/PHPUnit/Controller/AbstractControllerTestCase.php:193
/lib/ZendFramework/ZendFramework-2.1.0/library/Zend/Test/PHPUnit/Controller/AbstractControllerTestCase.php:236
/var/www/sandbox/zf2sandbox/module/Application/test/ApplicationTest/Controller/IndexControllerTest.php:18

FAILURES!
Tests: 1, Assertions: 0, Errors: 1.

assertEmpty(...)のような標準のPHPUnitアサーションメソッドのみを使用すると、正常に機能します。

これが私のIndexControllerTest.phpです:

<?php
namespace ApplicationTest\Controller;

use Zend\Test\PHPUnit\Controller\AbstractHttpControllerTestCase;

class IndexControllerTest extends AbstractHttpControllerTestCase
{
    public function setUp()
    {
        $this->setApplicationConfig(
            include '/var/www/sandbox/zf2sandbox/config/test/application.config.php'
        );
        parent::setUp();
    }

    public function testIndexActionCanBeAccessed()
    {
        $this->dispatch('/');
        $this->assertResponseStatusCode(200);

        $this->assertModuleName('application');
        $this->assertControllerName('application_index');
        $this->assertControllerClass('IndexController');
        $this->assertMatchedRouteName('home');

//      $this->assertEmpty(null);
    }
}

誰かが助けることができますか?

どうも

4

1 に答える 1

0

あなたのラインを確認してください

include '/var/www/sandbox/zf2sandbox/config/test/application.config.php'

実際に配列を生成します。falseこれまでのところ、何も返さないか、生成していると思います。

ファイルは次のようになります。

<?php

return array(
    // ...
);
于 2013-02-15T18:34:39.590 に答える