제품 검색 양식을 테스트하고 있습니다. 제품은 다른 매개 변수 (예 : 상태, 재질,와이트 등)로 검색 할 수 있습니다. 상태별로 검색하려면 다음을 수행하십시오.전체를 반복하는 방법 <select> behat/mink의 필드 옵션
Scenario Outline: search by status
When I select "<status>" from "search_form_status"
And I press "Search"
And I wait for 3 seconds // implemented
And I follow random link from test result table // implemented
Then I should see "<status>" in the "div#status" element
Examples:
|status |
|enabled |
|disabled|
모든 것이 정상입니다. 그러나 동일한 검색을 테스트 해보고 싶다면 product material은 언제든지 변경 될 수있는 주제 (제품 소재가 필요하거나 재료 이름을 편집하거나 오래된 미사용 제품을 삭제할 수 있음)와 같은 제품 소재로 고착되어 있습니다. 테스트 환경과 생산 현장에서 재료가 다를 것이라는 사실을 추가하십시오.
Given I select product material
그리고이 같은 foreach 루프와 단계를 구현 : 는 내가 뭔가를 할 수 있다는 사실을 알고
$matList = $this->getSession()->getPage()->findAll('css', "select option");
foreach($matList as $material){
// DO SOMETHING
}
}
하지만이 status
예처럼 다른 모든 단계를 작성 얼마나? 사용자 지정 단계를 따르는 단계에 대해 내 search.feature 파일에서 다음 단계에서 $material
변수를 사용하려고한다고 가정합니다. 그러나 나는 그것을 어떻게합니까? 모든 옵션 목록을 반복하고 각 반복마다 단계를 수행하려면 어떻게해야합니까?
당신은 하나의 테스트 케이스에 모든 기능을 테스트 할 필요가 없습니다. 모든 단일 테스트가 한 가지만 테스트하고 좋은 결과를 얻을 수 있도록 코드를 테스트 해보십시오 (가능하지 않은 경우 리팩터링하십시오). 귀하의 경우, 재료 시험을 작성하고 의미가있는 두 가지 사례를 정의 할 수 있습니다. - 재료 없음 (가능할 경우) - 최소 재료 수 - 재료 평균 세트 2 세트 - 최대 (정의 된 경우) 재료 세트 재료 번호, 재료 이름 등을 변경하는 것은 그 목적을 위해 특별히 만들어진 별도의 테스트에서 테스트 할 수 있습니다. 환영합니다! :) – Alexander
나는 당신이 나를 이해하지 않는 것 같아요. 한 가지 기능 (재료로 제품 검색) 만 테스트하고 싶습니다. 그리고 내가 갖고있는 재료와 그 중 얼마나 많은 재료가 있는지를 알 수는 없습니다. –