когда я бегу $ phpunit
в одиночку он не тихо, и это то, что я пытался узнать, что проблема не повезло:PHPUnit терпит неудачу silenlty
$ phpunit
$ echo $?
=> 255
$ php -i | grep error
display_errors => STDOUT => STDOUT
display_startup_errors => On => On
error_append_string => no value => no value
error_log => /usr/local/var/log/php_error.log => /usr/local/var/log/php_error.log
error_prepend_string => no value => no value
error_reporting => 32767 => 32767
html_errors => Off => Off
ignore_repeated_errors => Off => Off
log_errors => On => On
log_errors_max_len => 1024 => 1024
track_errors => On => On
xmlrpc_error_number => 0 => 0
xmlrpc_errors => Off => Off
xdebug.force_display_errors => On => On
xdebug.force_error_reporting => 1 => 1
xdebug.show_error_trace => Off => Off
opcache.error_log => no value => no value
phpunit --version
PHPUnit 6.0-g969991b by Sebastian Bergmann and contributors.
php --version
PHP 7.0.10-1 (cli) (NTS)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.10-1, Copyright (c) 1999-2016, by Zend Technologies
with Xdebug v2.4.0, Copyright (c) 2002-2016, by Derick Rethans
проверка на наличие ошибок синтаксиса, вернуть все в порядке:
for f in $(find tests/)
> do php -l $f
> done
...
как временное обходное решение, я запускаю все tes ц, как следовать
find . -name "*_Test.php" -type f -exec phpunit {} \;
php_error.log
не имеет запись в журнале, и чтобы убедиться, что ничего не сочинительство на файл:
$ truncate -s0 /usr/local/var/log/php_error.log
$ phpunit
$ tail /usr/local/var/log/php_error.log
и у меня есть доступ на запись сделать лог-файл: -rw-rw-r-- 1 adam adam 0 Sep 2 11:49 /usr/local/var/log/php_error.log
и безопасна:
$ php -r "error_log('am i logged?');"
$ tail /usr/local/var/log/php_error.log
[02-Sep-2016 13:16:37 Europe/Paris] am i logged?
когда я делаю phpunit tests/*
только файлы на корневом каталоге тестов выполняющихся, PHPUnit не идет рекурсивно
это phpunit.xml
<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
backupStaticAttributes="false"
colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
bootstrap="bootstrap.php"
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false">
<testsuites>
<testsuite name="Application Test Suite">
<directory suffix=".php">./tests</directory>
</testsuite>
</testsuites>
</phpunit>
и это содержание загрузчика. PHP файл
<?php
//
// Author: Oussama Elgoumri
// Email : [email protected]
//
// Wed Aug 31 17:13:04 WEST 2016
//
require_once __DIR__ . '/vendor/autoload.php';
require_once dirname(dirname(__FILE__)) . '/wp-load.php';
require_once ABSPATH . 'wp-admin/includes/admin.php';
use Dotenv\Dotenv;
do_action('admin_init');
(new Dotenv(__DIR__))
->load();
я знаю, что нет никаких ошибок, что является странным, echo $?
возвращение 255 после запуска PHPUnit, потому что, когда я бегу
psysh bootstrap.php
работает без ошибок
я буду признателен за любую помощь, даже если это hacki, я просто хочу, чтобы запустить тестовое покрытие и подготовить отчет. спасибо
UPDATE
в качестве временного workarround я выполнить все тесты, используя эту команду: find . -name "*_Test.php" -type f -exec phpunit {} \;
тест одного файла
$ phpunit tests/Upload__FN_Test.php
PHPUnit 5.5.4 by Sebastian Bergmann and contributors.
. 1/1 (100%)
Time: 1.27 seconds, Memory: 24.00MB
OK (1 test, 1 assertion)
тест все файлы в справочник каталог должен НЕ содержать подкаталоги в противном случае она не будет выполнена, как описано выше с 255 ошибкой
$ phpunit tests/src/Uptobox/Workflow_PHP/
PHPUnit 5.5.4 by Sebastian Bergmann and contributors.
..... 5/5 (100%)
Time: 7.03 seconds, Memory: 26.00MB
OK (5 tests, 6 assertions)
тестовые файлы в каталоге с тестового покрытия
$ phpunit tests/src/Uptobox/Workflow_PHP/ --coverage-text --whitelist src/Uptobox/Uptobox.php
PHPUnit 5.5.4 by Sebastian Bergmann and contributors.
..... 5/5 (100%)
Time: 6.93 seconds, Memory: 28.00MB
OK (5 tests, 6 assertions)
Code Coverage Report:
2016-09-02 12:35:00
Summary:
Classes: 0.00% (0/1)
Methods: 75.00% (3/4)
Lines: 90.91% (10/11)
\App\Uptobox::Uptobox
Methods: 75.00% (3/ 4) Lines: 90.91% (10/ 11)
Что я замечаю до сих пор, как поскольку целевой каталог не содержит каких-либо подкаталогов, phpunit обрабатывает все тестовые файлы в этом каталоге, иначе он терпит неудачу.
У вас есть опечатка: ' ' ('valaue'). Возможно, это и есть причина. –
BVengerov
Вы проверяли круговые символические ссылки в './Tests'? –