2017-09-18 6 views
2

나는 Karate Framework를 처음 사용합니다.가라테 시나리오를 더 읽기 쉽고 짧게 만드는 방법

version 1 : 
Background: 
     * url 'someURL' 
     * def user1 = {id:'123', name:'Bill'} 

Given I have a user with id '123' 
When I create a new user with the same id 
Then I should get a response 'user with this id already exists' 

을하지만 공수에서 여기처럼 쓸 수 있습니다 : 여기 같은 시나리오를 작성하려합니다 나는 공수 프레임 워크에 첫 번째 버전을 얻을 수있는 방법

version 2 : 
Background: 
    * url 'someURL' 
    * def user1 = {id:'123', name:'Bill'} 

Given request user1 
When method post 
Then status 201 
Given path response.id 
When method get 
Then response == {id:'123', name:'Bill'} 

    * def idUser1 = response.id 

Given request == {id: idUser1, name: 'Gary'} 
When method post 
Then response == {code: 400, message: 'user with this id already exists'} 

? 어디에서 3 라인을 자세히 설명해야합니까? 예 :

"Given request user1 
When method post 
Then status 201 
Given path response.id 
When method get" 
Then response == {id:'123', name:'Bill'} etc. 

답변

2

Given I have a user with id '123' 뒤에 (내가 어디에 어떻게 모르는) 세부 내가 가라테의 저자입니다. 첫 번째 버전을 원한다면, 공수는 당신을위한 것이 아닙니다. 은 제품 소유자 또는 비즈니스 분석가 또는 기술이없는 사람이 테스트를 읽거나 (심지어 만들 때까지) 유용하지 않으면 첫 번째 버전이 유용하지 않습니다. 내 경험상이 은 결코이 아닙니다.

경로 1로 이동하기로 결정한 경우에도 많은 Java 코드를 Cucumber "단계 정의"로 작성해야합니다. 어떤 시간 낭비이고, 당신이 공수의 세부 주장의 이익을 잃게됩니다, 예들이는 아래에 주어진 : 나는이 주제에 대한 말을 더 많이 가지고

enter image description here

,하지만 내 생각은 자세히 설명되어 있습니다 이 블로그 게시물에 - Yes, Karate is not true BDD.

모든 당신은 내가 UI 관련 기능을 실행하는 자바 API를 통해 갔다,하지만이 방법을 사용하여 기능에서 하나의 시나리오를 실행하는 방법을 알고 싶어 :)

+0

을 선택 중 옵션과 함께 가장? – kushal

+0

재사용 가능한 시나리오를 독립 실행 형 기능 파일로 옮기는 것이 어렵습니까? 나는 네가하려는 것을 정말로 이해하지 못한다. –

+0

다른 시나리오의 독립 실행 형 기능 파일을 만들 수 있다는 것을 알고 있지만 단일 기능 파일 내에서 단일 시나리오를 실행하는 방법에 대해 궁금합니다. 지금 받으시기 바랍니다. – kushal