2014-01-29 6 views
13

Я использую Codeception для модульных, функциональных и приемочных испытаний моего приложения Laravel 4 PHP.Как использовать методы утверждения PHPUnit в функциональном тесте Codeception?

Мои юнит-тесты выглядят следующим образом:

use Codeception\Util\Stub; 
class ExampleTest extends \Codeception\TestCase\Test 
{ 
public function testExample() 
{ 
    $example = true; 
    $this->assertSame($example, true); 
} 
} 

Мои функциональные тесты выглядеть следующим образом:

use \TestGuy; 
class ExampleCest 
{ 
public function example(TestGuy $I) 
{ 
    $I->amOnPage('/auth/login'); 
    $I->see('Sign in'); 
} 
} 

Но я также хочу использовать PHPUnit утверждают методы в моих функциональных тестов. Но когда я пытаюсь, я получаю эту ошибку:

Вызова неопределенного метода ExampleCest :: assertSame()

Как использовать методы Assert PHP в функциональном тесте Codeception?

ответ

0

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

Например для assertSame() метод

class ExpectedHelper extends \Codeception\Module 
{ 
    protected $test; 

    function _before(\Codeception\TestCase $test) { 
     $this->test = $test; 
    } 

    function assertSame($expected, $actual, $message = '') 
    { 
     $this->test->assertSame($exception, $actual, $message); 
    } 
} 

где ExpectedHelper быть имя Helper набор тестов (например: UnitHelper, FunctionalHelper), который должен быть под _support папки

и вы можете использовать его в качестве теста $I->assertSame('12340','12340');

20

С Codeception 2.1 (не 2.0), вы можете использовать его как другие утверждают с:

$I->assertSame($expected, $actual, $message); 

Но не забудьте включить модуль Asserts в вашей конфигурации - например:

class_name: UnitTester 
modules: 
    enabled: [ Asserts ] 

Пожалуйста, обратите внимание: Вы, возможно, потребуется изменить конфигурацию при обновлении до 2.1 - см обновить прибо ctions: http://codeception.com/06-19-2015/codeception-2.1-rc.html

+3

Это лучший ответ здесь, на вопрос «как использовать методы Assert в Functional tests». – lintuxvi

+3

Чтобы увидеть дополнительные методы в вашей среде IDE, вам нужно запустить тестовый пакет один раз после изменения конфигурации. Из документов кода: «По умолчанию Codeception автоматически восстанавливает свойство« Действия »при каждом изменении конфигурации набора». –

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