2014-10-21 2 views
2

각 테스트 방법 전에 메소드를 실행해야합니다. 문서 https://phpunit.de/manual/current/en/appendixes.annotations.html#appendixes.annotations.before을 바탕으로, 나는이 작은 테스트를했다 :phpunit @before @after not working

/** 
* @before 
*/ 
public function setupSomeFixtures() 
{ 
    echo "setupSomeFixtures\n"; 
} 

/** 
* @after 
*/ 
public function tearDownSomeFixtures() 
{ 
    echo "tearDownSomeFixtures\n"; 
} 

public function testTruc() 
{ 
    echo "un test\n"; 
} 

출력 :

PHPUnit 3.7.21 by Sebastian Bergmann. 

Configuration read from <root>\phpunit.xml 

.un test 


Time: 5 seconds, Memory: 14.25Mb 

OK (1 test, 0 assertions) 

내가 실종 무엇인가?

+0

을 phpunit을 업그레이드 아니라'@된다

이 내 출력입니까? 그리고 테스트가 끝나면'@ after'? 출력 결과 만 테스트 결과를 출력합니까? (그냥 무작위 추측) – Gudgip

+0

phpunit 의사가 :'@before 주석은 테스트 케이스 클래스의 각 테스트 메소드 전에 호출되어야하는 메소드를 지정하는 데 사용될 수 있습니다. ' 잘 알고 있으므로 @before가 가정됩니다 테스트 케이스 클래스가 아닌 각 테스트 메소드를 실행하기 전에 – smarber

답변

1

annotation이 phpunit 버전 3.8에 도입되었으므로 3.7에서는 작동하지 않습니다. 시험 전에 실행 before` ..

PHPUnit 4.2.6 by Sebastian Bergmann. 

Configuration read from /<omissis>/app/phpunit.xml.dist 

The Xdebug extension is not loaded. No code coverage will be generated. 

.setupSomeFixtures 
tearDownSomeFixtures 
.setupSomeFixtures 
tearDownSomeFixtures 
.setupSomeFixtures 
tearDownSomeFixtures 
IsetupSomeFixtures 
tearDownSomeFixtures 
.setupSomeFixtures 
un test 
tearDownSomeFixtures 


Time: 451 ms, Memory: 23.00Mb 

그래서 3.8 또는 내가 이것을 사용한 적이 주요

+1

3. *> 3.7이 안정적이지 않으면 4.3 (안정)을 시도하십시오 – smarber

+0

안녕하세요 @smarber가 유용하다고 생각되면 저의 답변을 upvote 해주세요. – Matteo