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/
참고
https://ian_lin.gitbooks.io/javascript-testing/content/chapter6.html