За последние 24 часа нас посетили 33920 программистов и 1747 роботов. Сейчас ищут 1244 программиста ...

помогите с phpUnit

Тема в разделе "Прочие вопросы по PHP", создана пользователем TigerZaka, 18 дек 2013.

  1. TigerZaka

    TigerZaka Активный пользователь

    С нами с:
    16 сен 2011
    Сообщения:
    189
    Симпатии:
    1
    Всем привет! помогите кто чем может, мозг ломит уже

    Структура у меня такая:
    vendor/phpunit/ *после загрузки composer'а
    test/test.php
    foo.php
    phpunit.xml
    -----------------------
    foo.php:
    Код (Text):
    1.  
    2. namespace ourproject;
    3.  
    4. class Foo {
    5.     public function overall($num) {
    6.         $num = intval($num);
    7.         if(!num || !num < 0) {
    8.             throw new Exception('ошибка');
    9.         } else {
    10.             if($num === 0) {
    11.                 return 1;
    12.             }
    13.             $myNum = $num;
    14.             return $myNum;
    15.         }
    16.     }
    17. }
    test/test.php:
    Код (Text):
    1.  
    2. <?php
    3.  
    4. namespace ourproject\test;
    5. use ourproject\Foo as myClass;
    6.  
    7. class FooTest extends \PHPUnit_Framework_TestCase
    8. {
    9.     public function testException() {
    10.         $mg = new myClass;
    11.         $this->assertEquals(1, count($mg->overall(5)));
    12.     }
    13. }
    phpunit.xml:
    Код (Text):
    1.  
    2. <phpunit backupGlobals="false"
    3.          backupStaticAttributes="false"
    4.          syntaxCheck="false">
    5.   <testsuites>
    6.     <testsuite name="Tests">
    7.       <directory suffix=".php">test</directory>
    8.     </testsuite>
    9.   </testsuites>
    10. </phpunit>
    С помощью composer'а загрузил phpunit
    composer.json:
    Код (Text):
    1.  
    2. {
    3. "require-dev": {
    4.         "phpunit/phpunit": "3.7.*"
    5.     },
    6. "autoload": {
    7.         "psr-0": {
    8.             "ourproject": "test/"
    9.         }
    10.     }
    11. }
    пишу я следующее:
    Код (Text):
    1.  
    2. vendor/bin/phpunit
    И мне выкидывает ошибку:
    В чем я слеп, направьте плз
     
  2. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    ща мож глупость напишу, но что будет если переименовать foo.php в Foo.php? )
     
  3. TigerZaka

    TigerZaka Активный пользователь

    С нами с:
    16 сен 2011
    Сообщения:
    189
    Симпатии:
    1
    и это не помогло (
     
  4. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    Насколько я понимаю, тебе нужно Foo.php переместить в директорию ourproject, хотя я могу и ошибаться в неймспейсах плаваю, честно говоря, надо заставить себя разобраться :)
     
  5. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    дьявол придумал композер )
    Попробуй так. Или без "src/"
     
  6. AmsTaFFix

    AmsTaFFix Активный пользователь

    С нами с:
    10 дек 2013
    Сообщения:
    22
    Симпатии:
    0
    о боги, вы не можете просто так взять и использовать только namespace'ы, надеясь, что они сразу начнут подгружать все что вам надо. Сделайте require того класса, который вам нужен
     
  7. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    А composer тогда зачем у человека поставлен? )
     
  8. AmsTaFFix

    AmsTaFFix Активный пользователь

    С нами с:
    10 дек 2013
    Сообщения:
    22
    Симпатии:
    0
    а затем, что нужно ему подключить автолоадер
     
  9. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    хм... а ведь и правда лоадер ни где не цепляется )
     
  10. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    тьфуй, блин :)
     
  11. TigerZaka

    TigerZaka Активный пользователь

    С нами с:
    16 сен 2011
    Сообщения:
    189
    Симпатии:
    1
    Всем спасибо за участие!
    Уже разобрался, не было возможности зайти на форум.
    Фишка оказалась в ошибочном расположении файла, действительно нужно было расположить foo.php, в папку ourproject.
    И require  здесь не нужен, namespace'ы и psr-0. Все отлично заработало )