2011-04-03 2 views
0

Я пытаюсь проверить php-activerecord, у него есть некоторые тесты. При запуске:запустить phpunit php-activerecord не удалось

PHPUnit sometestname

ничего не произошло. Я проверил код,

include 'helpers/config.php'; 

require_once dirname(__FILE__) . '/../lib/Inflector.php'; 

class InflectorTest extends SnakeCase_PHPUnit_Framework_TestCase 

{ 
    public function set_up() 
    { 
     $this->inflector = ActiveRecord\Inflector::instance(); 
    } 

    public function testOne() 
    { 
     $this->assertTrue(2+2==4); 
    } 

Любая идея?

enter image description here

+0

мастер филиал работает для меня, 3 теста, 5 утверждений , Какую версию вы используете? Я использую их на GNU/Linux. 'testOne' должен быть' test_one', видимо. – greut

+0

@greut Нет. Почему это должно быть «test_one»? Пока у него есть тест перед PHPUnit, он будет рассматривать его как тест. – Gordon

+0

если что-то должно быть публичной функцией setup() вместо set_up() – Gordon

ответ

5

Ваша PHPUnit версия немного устарела. Давайте сделаем так, чтобы вы были текущими. Пожалуйста

pear channel-discover pear.phpunit.de 
pear channel-discover components.ez.no 
pear channel-discover pear.symfony-project.com 

и затем

pear install --force --alldeps phpunit/PHPUnit again 

это должно привести к

downloading PHPUnit-3.5.13.tgz ... 
Starting to download PHPUnit-3.5.13.tgz (118,553 bytes) 
..........................done: 118,553 bytes 
install ok: channel://pear.phpunit.de/PHPUnit-3.5.13 

Если есть какие-либо ошибки, попробуйте обновить версию PEAR до текущей версии с

pear upgrade-all 

DocBlock for the test helper of PHPActiveRecord says

/** 
* In order to run these unit tests, you need to install: 
* - PHPUnit 
* - PEAR Log (otherwise logging SQL queries will be disabled) 
* - Memcache (otherwise Caching tests will not be executed) 
* 
* To run all tests : phpunit AllTests.php --slow-tests 
* To run a specific test : phpunit ????Test.php 
*/ 

но есть два подавлено включает в него для зависимости Log

@include_once 'Log.php'; 
@include_once 'Log/file.php'; 

, которые могут быть причиной того, почему вы не получаете никакого результата на CLI на всех, поэтому убедитесь, что вы также сделать

pear install --force --alldeps Log 

Это должно работать тогда.

EDIT: 1.0 версия, которая доступна на веб-сайте PHPActiveRecord не имеет выше DocBlock и использует require_once для зависимости Log. Это изменилось в текущей основной версии, так что вы, возможно, захотите попробовать каждую ночь или проверить мастер-ветвь от GitHub:

+0

'PEAR :: Log' и' memcache' не требуются для запуска тестов, особенно не для этого. – greut

+0

@greut см. Мое редактирование. 1.0, доступная с сайта, имеет 'require_once' вызовы для зависимости Log. По какой-то причине это было подавлено в установке OPs, поэтому никаких ошибок не было. – Gordon

+1

yep, окончательно используйте ведущую ветку ночной. – greut

Смежные вопросы