Tak na szybko, instalacja w krokach …

Codeception jest to jeden z frameworków do testowania skryptów PHP typu BDD (Behavior Driven Development), można w nim również wykonywać testy jednostkowe (posiada wbudowanego PHPUnit’a), czy podążać ścieżką TDD.
Ręczna instalacja i używanie pod Windowsom w paru krokach (plik php.exe jest na ścieżce przeszukiwań plików exe):

  1. Wchodzimy na stronę: http://codeception.com/install
  2. Ściągamy plik codecept.phar
  3. Kopiujemy plik codecept.phar do głównego katalogu projektu
  4. Wydajemy komendę tworzenia struktury katalogu testu i konfiga:
    php codecept.phar bootstrap
  5. Możemy zmodyfikować plik tests/_bootstrap.php gdzie dodajemy sekwencję uruchomieniową np.: testowanej klasy lub frameworka:
    < ?php
    // This is global bootstrap for autoloading
    include __DIR__."/../src/SMQueue/SMQueue.php";
  6. W katalogu tests/unit/ tworzymy test jednostkowy poprzez wydanie komendy
    php codecept.phar generate:test unit SMQueue

    lub

    php codecept.phar generate:phpunit unit SMQueue

    lub ręcznie np.: SMQueueTest.php

    <?php
     
    use SMQueue\SMQueue;
     
    class SMQueueTest extends \PHPUnit_Framework_TestCase {
     
       protected function setUp() {
       }
     
       protected function tearDown() {
       }
     
        public function testCreate(){
            $smQueue = new SMQueue();
            $this->assertInstanceOf("SMQueue\\SMQueue", $smQueue);
        }
     
        public function testWrite(){
            $smQueue = new SMQueue();
            $this->assertInstanceOf("SMQueue\\SMQueue", $smQueue);
     
            $smQueue->write("TestWrite");
            $read=$smQueue->read();
            $this->assertEquals("TestWrite", $read);
        }
     
        public function testWriteById(){
            $smQueue = new SMQueue(1024);
            $this->assertInstanceOf("SMQueue\\SMQueue", $smQueue);
     
            $smQueue->write("TestWriteBlock");
            $read=$smQueue->read();
            $this->assertEquals("TestWriteBlock", $read);
        }
     
        public function testDelete(){
            $smQueue = new SMQueue(1024);
            $this->assertInstanceOf("SMQueue\\SMQueue", $smQueue);
     
            $smQueue->delete();
            $read=$smQueue->read();
            $this->assertNotEquals("TestWriteBlock", $read);
        }
    }
  7. Test możemy uruchamiać poprze komendę wykonanym w katalogu gdzie jest przekopiowany plik codecept.phar np.:
    php codecept.phar run tests\unit\SMQueueTest.php
  8. Więcej przykładów na stronie dokumentacji: http://codeception.com/docs/02-GettingStarted