如果调用不存在的函数,phpunit不会产生错误

时间:2013-07-12 09:48:40

标签: phpunit

我正在尝试学习phpunit,而我正在处理一个项目,这个项目需要复制一些文件,所以我想我会使用vfsStream来模拟我的单元测试的文件系统。

因为每当我包含并使用vfsStreamWrapper类时,phpunit似乎并不关心调用不存在的函数或任何其他输出。

下面的函数我从一个例子中复制过,我将第二个被调用的函数更改为我确定不存在的函数:

protected function setUp()
{
    vfsStreamWrapper::register();
    vfsStreamWrapper::yowkes(array('Core' => array('AbstractFactory' => array('test.php'    => 'some text content',
        'other.php'   => 'Some more text content',
        'Invalid.csv' => 'Something else',
    ),
        'AnEmptyFolder'   => array(),
        'badlocation.php' => 'some bad content',
    )
    ));
}

所有phpunit都会打印以下输出:

  

Sebastian Bergmann的PHPUnit 3.7.21。

我在一个充满活力的盒子上通过ssh从终端运行phpunit。

感谢任何帮助。

编辑:

public function testFilesAreCopiedCorrectly() {

    $remoteDirectory = 'files/remoteFiles/';
    $correctFilePaths = array('20130627-1830-01.xml',
                                '20130627-1830-02.xml',
                                '20130627-1830-03.xml',
                                '20130627-1830-04.xml',
                                '20130627-1830-05.xml',
                                '20130627-1830-06.xml',
                                '20130627-1830-07.xml',
                                '20130627-1830-08.xml',
                                '20130627-1830-09.xml',
                        );

    $remoteImportFileGetter = new RemoteImportFileGetter($remoteDirectory,
                                                        $correctFilePaths,
                                                        vfsStream::url('localDir'));



    $remoteImportFileGetter->copyFilesToLocalDirectory();

    $localFiles = $this->root->getChildren();

    $this->assertCount(9, $localFiles);

    $this->assertEquals($correctFilePaths, $localFiles);

    $i = 0;

    foreach($correctFilePaths as $remoteFile){
        $this->assertEquals(file_get_contents($remoteFile), file_get_contents($localFiles[$i]));
        $i++;
    }
}

0 个答案:

没有答案