Frisbyjs (Automate Rest Api Testing) - 5

서버에서 넘어온 값을 확인해 봐야 할 때가 있다.

서버에서 에러가 나야하고 그 에러메세지를 확인해야 할 경우가 있다. 신용카드를 포스트로 보내는 테스트인다.


frisby.create('postUserPaymentMethods')
.addHeader('Authorization', 'Bearer ' + token)
.post(domain + '/paymentmethods', {
        "country":"1",
        "name":"asdf",
        "creditCardNumber":"234234",
        "type":"VISA",
        "cvv":"234",
        "expDateMonth":"02",
        "expDateYear":"2016",
        "address":"234234234",
        "city":"234",
        "state":"234",
        "zipcode":"234"
})
.expectStatus(200)
.toss();

백앤드에서 에러가 나면서 400번을 자꾸 리턴을 한다.

에러를 찍어봐야 내용을 알수 있기 때문에 다음을 추가했다.

.afterJSON(function (json){
    console.log(json);
})

전체 코드는 다음과 같다.

frisby.create('postUserPaymentMethods')
.addHeader('Authorization', 'Bearer ' + token)
.post(domain + '/paymentmethods', {
        "country":"1",
        "name":"asdf",
        "creditCardNumber":"234234",
        "type":"VISA",
        "cvv":"234",
        "expDateMonth":"02",
        "expDateYear":"2016",
        "address":"234234234",
        "city":"234",
        "state":"234",
        "zipcode":"234"
})
.expectStatus(200)
.afterJSON(function (json){
    console.log(json);
})
.toss();

백앤드에서 보내준 값을 검사해보자.

{
     "key1" : "value1"
}

이런 값을 기대하면 다음처럼 체크가 가능하다.

.expectJSON({
     key1 : "value1"
})

그런데 다음처럼 값이 오면?

{
    "arg" : {
        "key1" : "value1"
    },
    "key1" : "value1",
}

다음처럼 체크할수 있다.

.expectJSON(
    arg , {
     key1 : "value1"
 })

실제 예제

{ message: 'The request is invalid.',
  modelState: { '': [ 'Invalid token.' ] } }

위처럼 값이 넘어온다 . 체크해보자.

.expectJSON({ message: ‘The request is invalid.’, modelState: { ‘’: [ ‘Invalid token.’ ] } })

관련 글

https://teamsmiley.github.io/2016/08/22/frisby-1/

https://teamsmiley.github.io/2016/08/22/frisby-2/

https://teamsmiley.github.io/2016/08/22/frisby-3/

https://teamsmiley.github.io/2016/08/22/frisby-4/

https://teamsmiley.github.io/2016/08/22/frisby-5/

https://teamsmiley.github.io/2016/08/22/frisby-6/

https://teamsmiley.github.io/2016/08/22/frisby-7/

참고

http://frisbyjs.com/docs/api/

https://ian_lin.gitbooks.io/javascript-testing/content/chapter6.html

teamsmiley's profile image

teamsmiley

2016-08-29 00:00

Read more posts by this author