phpunit에서 단일 테스트 방법을 실행하는 방법은 무엇입니까?
는 는는 named named named named named named named named named named named named named named named named named named named named named named named named named named named named named named named named named named named named named named named 라는 이름의 단일 테스트 방법을 실행하는 데 어려움을 겪고 있다.testSaveAndDrop
" " " ""escalation/EscalationGroupTest.php
phpunit
.
phpunit EscalationGroupTest escalation/EscalationGroupTest.php --filter=escalation/EscalationGroupTest.php::testSaveAndDrop
phpunit EscalationGroupTest escalation/EscalationGroupTest.php --filter=EscalationGroupTest.php::testSaveAndDrop
phpunit EscalationGroupTest escalation/EscalationGroupTest.php --filter=EscalationGroupTest::testSaveAndDrop
phpunit EscalationGroupTest escalation/EscalationGroupTest.php --filter=testSaveAndDrop
각각의 경우 파일 내의 모든 테스트메소드escalation/EscalationGroupTest.php
이렇게 . 어떻게한 할 수 요?대신 한 가지 방법만 선택하는 방법은 무엇입니까?
은 ★★★★★★★★★★★★★★★★★★★★★★★」EscalationGroupTest
의 phpunit
38.3.2.8입니다.
다음 명령어는 단일 방식으로 테스트를 수행합니다.
phpunit --filter testSaveAndDrop EscalationGroupTest escalation/EscalationGroupTest.php
phpunit --filter methodName ClassName path/to/file.php
phpunit의 새로운 버전은 다음과 같습니다.
phpunit --filter methodName path/to/file.php
주석에서 시험을 다음과 같이 표시하는 것을 선호합니다.
/**
* @group failing
* Tests the api edit form
*/
public function testEditAction()
그럼 다음 명령으로 실행
phpunit --group failing
명령줄에서 전체 경로를 지정할 필요는 없지만 코드를 복잡하게 만들지 말고 커밋하기 전에 이 경로를 삭제해야 합니다.
단일 테스트에 여러 그룹을 지정할 수도 있습니다.
/**
* @group failing
* @group bug2204
*/
public function testSomethingElse()
{
}
보다 일반적인 답변은 다음과 같습니다.
메서드 이름이 고유할 경우 메서드 이름으로만 필터링할 수 있습니다(이 방법은 나에게 적합합니다).
phpunit --filter {TestMethodName}
단, 파일 경로/참조도 지정하는 것이 안전합니다.
phpunit --filter {TestMethodName} {FilePath}
예제:
phpunit --filter testSaveAndDrop reference/to/escalation/EscalationGroupTest.php
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★testSave
또 '먹다'라는 기능이 있습니다.testSaveAndDrop
사용phpunit --filter testSave
testSaveAndDrop
"로 함수testSave*
★★★★★★★!!
다음 명령이 정확히 실행됩니다. testSaveAndDrop
phpunit --filter '/::testSaveAndDrop$/' escalation/EscalationGroupTest.php
- larabel root 디렉토리에서 사용하고 있는 프로젝트 루트 디렉토리 내에서 실행합니다.
vendor/bin/phpunit --filter 'Your method name'
커스텀 메서드명의 예.
/** @test //Initilize this for custom method name, without test keyword
*
* Test case For Dashboard When User Not logged In it will redirect To login page
*/
public function only_logged_in_user_see_dashboard()
{
$response = $this->get('/dashboard')
->assertRedirect('/login');
}
test 키워드를 사용한 예
/**
* A basic test example.
*
* @return void
*/
public function testBasicTest()
{
$this->assertTrue(true);
}
phpunit 테스트를 여러 방법으로 larabel로 실행합니다.
vendor/bin/phpunit --filter methodName className pathTofile.php
vendor/bin/phpunit --filter 'namespace\\directoryName\\className::methodName'
테스트 싱글 클래스의 경우:
vendor/bin/phpunit --filter tests/Feature/UserTest.php
vendor/bin/phpunit --filter 'Tests\\Feature\\UserTest'
vendor/bin/phpunit --filter 'UserTest'
test single 메서드의 경우:
vendor/bin/phpunit --filter testExample
vendor/bin/phpunit --filter 'Tests\\Feature\\UserTest::testExample'
vendor/bin/phpunit --filter testExample UserTest tests/Feature/UserTest.php
네임스페이스 내의 모든 클래스에서 테스트를 실행하는 경우:
vendor/bin/phpunit --filter 'Tests\\Feature'
자세한 실행 테스트를 보려면 자세한 내용을 참조하십시오.
그러니까 이런 거
phpunit --filter 'EscalationGroupTest::testSaveAndDrop' EscalationGroupTest escalation/EscalationGroupTest.php
=
★★★★★★★★★★★★★★★★와 함께'
https://phpunit.de/manual/3.7/en/textui.html
넷빈을 사용하고 있는 경우는, 테스트 방법을 오른쪽 클릭하고, 「Run Focused Test Method(중요한 테스트 방법 실행)」을 클릭합니다.
시험해 볼 수 있습니다1개의 테스트 케이스를 실행할 수 있습니다.
phpunit tests/{testfilename}
예:
phpunit tests/StackoverflowTest.php
Larabel 5.5에서 단일 테스트 케이스를 실행하는 경우 Try
vendor/bin/phpunit tests/Feature/{testfilename}
vendor/bin/phpunit tests/Unit/{testfilename}
예:
vendor/bin/phpunit tests/Feature/ContactpageTest.php
vendor/bin/phpunit tests/Unit/ContactpageTest.php
가 모두 되고 있는 은, 「 」가 때문입니다.--filter
파일 이름 뒤에 플래그를 지정합니다.PHPUnit은 옵션을 전혀 읽지 않고 모든 테스트 케이스를 실행하고 있습니다.
도움말 화면에서:
Usage: phpunit [options] UnitTest [UnitTest.php]
phpunit [options] <directory>
'아예'를 .--filter
@Alex 및 @Ferid Mövsümov 응답에서 설명한 대로 원하는 테스트 파일 앞에 인수를 입력합니다.그리고 원하는 테스트만 실행해야 합니다.
당신이라는 걸 생각하면
vendor/bin/phpunit --filter=EscalationGroupTest::testSaveAndDrop
XML 컨피규레이션파일을 사용하고 있는 경우는, 다음의 항목을 다음의 URL 에 추가할 수 있습니다.phpunit
태그:
<groups>
<include>
<group>nameToInclude</group>
</include>
<exclude>
<group>nameToExclude</group>
</exclude>
</groups>
https://phpunit.de/manual/current/en/appendixes.configuration.html 를 참조해 주세요.
하지만 나는 파티에 늦었다.하지만 개인적으로 나는 한 줄 전체를 쓰는 것을 싫어한다.
대신 .bash_profile 파일에서 다음 단축키를 사용합니다.새 에일리어스를 추가한 후 .bash_profile 파일을 소스합니다.
alias pa="php artisan"
alias pu="vendor/bin/phpunit"
alias puf="vendor/bin/phpunit --filter"
사용방법:
puf function_name
puf filename
Visual Studio Code를 사용하는 경우 다음 패키지를 사용하여 테스트를 쉽게 수행할 수 있습니다.
Package Name: Better PHPUnit
Link: https://marketplace.visualstudio.com/items?itemName=calebporzio.better-phpunit
그런 다음 설정에서 키 바인딩을 설정할 수 있습니다.MAC에서 Command + T binding을 사용합니다.
이제 커서를 함수에 놓고 키 바인딩을 사용하면 해당 단일 테스트가 자동으로 실행됩니다.
전체 클래스를 실행해야 할 경우 커서를 클래스 맨 위에 놓고 키 바인딩을 사용하십시오.
다른 것이 있으면 항상 터미널에서 트위크합니다.
해피 코딩!
단일 테스트 메서드를 실행하려면 --filter를 사용해야 합니다.php phpunit --filter "/::testMethod( .*)?$/" ClassTest ClassTest.php
위의 필터는 testMethod만 실행합니다.
언급URL : https://stackoverflow.com/questions/26095051/how-to-run-single-test-method-with-phpunit
'source' 카테고리의 다른 글
C프로그램의 정수를 위한 역사적인 typedef 수프는 무엇이었나요? (0) | 2022.09.23 |
---|---|
Panda read_csv: low_memory 및 dtype (0) | 2022.09.23 |
같은 방식의 클래스 내 2개의 인터페이스를 실장한다.어떤 인터페이스 방식이 재정의됩니까? (0) | 2022.09.23 |
ScopeKey가 nuxt.js 인증 모듈에서 작동하지 않음 (0) | 2022.09.23 |
개체를 문자열로 변환 (0) | 2022.09.22 |