스위트에서 하나의 테스트만 실행하려면 어떻게 해야 합니까?
아래 테스트 클래스가 있는데, 이 클래스에서 "about Page"와 같은 테스트를 하나만 실행하고 싶습니다.어떻게요?
이 파일만 실행하는 방법은 다음과 같습니다.
codecept run tests/acceptance/VisitorCest.php
하지만 지금은 파일에서 하나의 테스트만 실행하려고 합니다.
<?php
use \AcceptanceTester;
class VisitorCest
{
public function _before(){}
public function _after(){}
public function aboutPage(AcceptanceTester $I)
{
$I->wantTo('check about page');
}
public function contactPage(AcceptanceTester $I)
{
$I->wantTo('check contact page');
}
}
다음과 같이 콜론과 함수 이름을 추가합니다.
codecept run tests/acceptance/VisitorCest.php:myTestName
또는 더 짧은 버전:
codecept run acceptance VisitorCest:myTestName
(suit-name과 file-name 사이의 공백에 주의해 주세요).
기능하는 것은 다음과 같습니다.
codecept가 {code-name} {file-name}을(를) 실행합니다.php: {function-name}
suet-name과 file-name 사이의 공백에 주의한다.
@Tzook Bar Noy에서 제공하는 답변 외에 동일한 이름으로 시작하는 테스트가 여러 개 있을 때 후행 값을 추가할 수 있습니다.다음 예를 생각해 보겠습니다.
<?php
use \AcceptanceTester;
class VisitorCest
{
public function aboutPage(AcceptanceTester $I)
{
}
public function aboutPageOption(AcceptanceTester $I)
{
}
}
여기서 다음 명령어는 두 테스트를 모두 수행합니다.
codecept run tests/acceptance/VisitorCest.php:aboutPage
이 작업은 첫 번째 작업만 수행합니다.
codecept run tests/acceptance/VisitorCest.php:aboutPage$
이를 위한 보다 적절한 방법은 해당 테스트 사례에 그룹 주석을 할당하는 것입니다.이는 다음과 같은 이유로 권장됩니다.예를 들어, 같은 클래스의 Visitor Cest에 2개의 테스트 케이스가 있는 경우.
public function aboutPage
public function aboutPage2
실행 중
codecept run tests/acceptance/VisitorCest.php:aboutPage
는 VisitorCest:aboutPage 및 VisitorCest:aboutPage2 테스트 케이스를 모두 실행합니다.
이와 같은 테스트 케이스에 그룹 할당
/**
* @group aaa
*/
public function aboutPage(AcceptanceTester $I)
{
}
그리고 이 테스트 케이스를 이렇게 실행합니다.
codecept run -g aaa
이전 답변 외에 지정된 이름으로 그룹화하여 하나 또는 여러 개의 메서드를 실행할 수 있습니다.
/**
* @group test-aboutPage
*/
public function aboutPage(AcceptanceTester $I)
{
$I->wantTo('check about page');
}
옵션 사용-g그룹 이름:
$ codecept run acceptance VisitorCest -g test-aboutPage
이게 내가 하는 일이야 php codecept.phar run unit UnitNameTest.php
사용하시는 경우PHP Yii2 Framework이 명령어를 사용하여 실행할 수 있는 테스트는 1개뿐입니다.
테스트 디렉토리에 있는지 확인합니다.
cd /codeception/frontend
codecept run -vv acceptance HomeCept
오늘은 이 질문에 대한 더 일반적인 대답을 배웠습니다.임의 코드 예외 테스트 목록을 실행하는 숨겨진 방법이 있습니다.예를 들어 Cest1.php, Cest2.php, Cest3.php 이외에는 아무것도 실행하지 않는다고 합니다.모두 다른 스위트, 다른 그룹 등에서 온 것입니다.
이를 실현하기 위한 샘플코드는 다음과 같습니다.
codecept run -o "groups: custom: [Cest1.php, Cest2.php, Cest3.php]" -g custom
요점은 그룹을 즉시 정의하고 필요한 테스트를 그룹에 포함시킨 후 신생 그룹의 테스트를 한 번의 명령으로 즉시 실행하는 것입니다.
사용해보십시오. phpunit --filter {TestMethodName} {FilePath}
언급URL : https://stackoverflow.com/questions/25074243/how-can-i-run-only-one-test-from-a-suite
'programing' 카테고리의 다른 글
| NumPy 어레이에 열을 추가하려면 어떻게 해야 합니까? (0) | 2023.01.24 |
|---|---|
| 다음 클래스를 인스턴스화할 수 없습니다. - Android.support.v7.199.툴바 (0) | 2023.01.24 |
| python jinja 템플릿에서 loop.counter를 출력하는 방법 (0) | 2023.01.24 |
| MySQL 데이터베이스에 전화번호를 저장하는 방법 (0) | 2023.01.24 |
| 이클립스 자동 완성(백분율 기호, Juno 단위) (0) | 2023.01.24 |