Как начать работу с PHPUnit в командной строке? - PullRequest
2 голосов
/ 04 января 2011

У меня есть MacBook Pro , установлен PEAR , установлен PHPUnit , поэтому в командной строке я могу ввести phpunit и получить использование помощь.

Теперь я хочу запустить тест , чтобы я мог оттуда построить.

У меня есть файл с именем index.php с таким содержанием:

<?php

require_once '?????';


class Product {

    protected $id;

    public function __construct($id) 
    {
        $this->id = $id;
    }

    public function get_id()
    {
        return $this->id;
    }

}

class ProductTest extends PHPUnit_Framework_TestCase
{
    function testBasis()
    {
        $instance = new Product(1);

        $this->assertInstanceOf('Product',$instance);
        $this->assert($instance->get_id(), 1);
    }
}

В командной строке я хочу перейти в каталог, в котором находится файл, и ввести что-то вроде:

phpunit ?????

Каковы следующие шаги, чтобы я могпроверить вышеуказанный класс с помощью PHPUnit из командной строки?

Ответы [ 2 ]

7 голосов
/ 04 января 2011
  1. Если вы правильно установили phpunit, вам не нужна строка включения.
  2. class ProductTest extends PHPUnit_Framework_TestCase
  3. Сохраните файл ProductTest.php
  4. По командес помощью «cd» перейдите в каталог, в котором вы сохранили ProductTest.php
  5. Если вы правильно установили phpunit, вы сможете ввести phpunit --verbose ProductTest.php

Ваш файл ProductTest.php будетдолжны выглядеть так:

<?php

class Product {

    protected $id;

    public function __construct($id) 
    {
        $this->id = $id;
    }

    public function get_id()
    {
        return $this->id;
    }

}

class ProductTest extends PHPUnit_Framework_TestCase
{
    function testBasis()
    {
        $instance = new Product(1);

        $this->isInstanceOf('Product',$instance);
        $this->assertEquals($instance->get_id(), 1);
    }
}

?>

В командной строке, запущенной phpunit --verbose ProductTest, будет выводиться:

PHPUnit 3.4.13 by Sebastian Bergmann.

ProductTest
.

Time: 0 seconds, Memory: 6.50Mb

OK (1 test, 1 assertion)
dorin@ubuntu:/var/www$ phpunit --verbose ProductTest
PHPUnit 3.4.13 by Sebastian Bergmann.

ProductTest
.

Time: 0 seconds, Memory: 6.50Mb

OK (1 test, 1 assertion)
0 голосов
/ 01 августа 2012

Я обновил версию phpunit с 3.4 до 3.6, используя эти инструкции , и это решило проблему отсутствия функции assertInstanceOf.если кто-то зашел в эту ветку за той же проблемой, стоит подумать об обновлении до последней версии теста phpunint

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...