이번 강의는 utils.go 의 coverage를 100%로 채워보는 강의이다
변수이름은 괜찮았다고 쳐도
if 에서 아는 것과 모르는 것의 차이가 나오는 것 같다 reflect.DeepEqual() 은 완전 깊이 같은지 않같은지를 확인해주는 함수이다
마지막 ToJSON() 함수를 테스트해줄 차례이다
테스트 함수의 3단계로 짤 생각으로 3단계에서 비교해줄 JSON으로된 []byte 는 ToJSON으로밖에 못 만들어서 어떻게 함수를 만들어야하지 당황했다
그러나 방법은 따로 있었다.
ToJSON() 함수를 사용하면 []byte를 얻으니
reflect.Slice 를 사용하여 슬라이스([]byte)를 얻었는지 확인하면 된다고 한다!
그런데 생각해보니까 JSON방식으로 encode되어서 []byte가 만들어져야 하는데
그걸 확인할 방법이 없다 그래서 이게 맞나? 하는 찰나에
니꼬가 Unmarshal도 해줘야한다고 하니 그때 머리를 탁 쳤다
왜 이 생각을 못했을까?
만든 데이터랑 비교할 (초기 JSON []byte데이터)를 만들 수 없으면 Unmarshal로 되돌려보면 된다
(내가 생각 했던 건 1. 만들때 json방식으로 만들기 - 안됨 2. REST API로 받기 - 안됨)
Tobytes의 Test함수도 잘 마무리가 되었고
wallet을 Test하겠다고 말하시면서 coverage에 wallet을 포함하는 방법을 알려주시고 끝내셨다
그럼
끝!
'go언어 블록체인' 카테고리의 다른 글
노마드코인 13-7 리뷰 (0) | 2021.08.24 |
---|---|
노마드코인 13-6 리뷰 (0) | 2021.08.24 |
노마드 코인 13-4 리뷰 (0) | 2021.08.23 |
노마드코인 13-3 리뷰 (0) | 2021.08.23 |
노마드 코인 13-2 리뷰 (0) | 2021.08.23 |