Laravel Homestead中的PHPUnit测试失败

时间:2017-01-10 00:15:45

标签: php laravel phpunit composer-php homestead

我在Homestead VM上运行laravel/framework:master的新克隆(在Mac主机上)。我安装了依赖项(composer install - 还有composer update)。当我运行测试时,我得到了

     
There were 2 failures:

 1) FilesystemTest::testIsReadable Failed asserting that true is false.

 /home/vagrant/Code/project/vendor/laravel/framework/tests/Filesystem/FilesystemTest.php:305

 2) ValidationValidatorTest::testValidateActiveUrl Failed asserting that false is true.

 /home/vagrant/Code/project/vendor/laravel/framework/tests/Validation/ValidationValidatorTest.php:1825
$ php -v
PHP 7.1.0-2+deb.sury.org~xenial+1 (cli) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.1.0-dev, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.1.0-2+deb.sury.org~xenial+1, Copyright (c) 1999-2016, by Zend Technologies
    with blackfire v1.14.1~linux-x64-non_zts71, https://blackfire.io, by Blackfireio Inc.

$ phpunit --version
PHPUnit 5.7.5 by Sebastian Bergmann and contributors.

我错过了什么吗?

更新

我用我为这些问题找到的解决方法回答了我自己的问题,尽管我并不完全理解它们。特别是我不知道这些问题是否对我的设置有些特殊,或者是常见的并且是预期的,在这种情况下我想知道为什么默认的Homestead配置无法解决它们。

我暂时搁置这个问题,以防有人想解释或评论。

1 个答案:

答案 0 :(得分:0)

我发现在dns_get_record上抛出异常(在active_url验证中调用)。感谢this issue我了解到将natdnshostresolver选项设置为" off"可以为我解决。

在第一次失败的测试中,在chmod 000文件之后,断言期望文件不可读。但它始终保持可读性。然后我发现我正在对在主机上同步的文件夹进行测试。 (也许它不能删除那里的读取权限?)。我再次尝试从非同步文件夹中测试通过。