의선 멘토님의 피드백을 얻은 결과...
전체 테스트는 FAIL이 나타나는 대신, 개별 테스트에서는 각각의 테스트가 모두 통과가 된다는 사실을 알게 되었다 !!
추측을 해보기로는 코드를 보게 되면, 같은 이름의 sourcecommit_repository를 생성하기 때문에, 테스트를 할 때마다 리소스를 생성하고 삭제하는 시간이 있을 수 있을 것이라 생각이 되었다.
즉, 삭제가 잘 안되었는데, 다시 생성을 하려고 시도하는 과정에서 오류가 발생한다고 판단을 하게 되었다.
따라서, test 코드 간에 시간 간격을 두는 것에 대한 해결 방안을 생각하게 되었다.
해결 방안
테스트 사이에 1분의 시간 간격을 두고 전체 테스트를 진행하기
time.Sleep(1 * time.Minute)
결과 - 전체 테스트 통과
--- PASS: TestAccResourceNcloudSourcePipelineProject_classic_basic (9.75s)
--- PASS: TestAccResourceNcloudSourcePipelineProject_classic_updateTaskName (74.17s)
--- PASS: TestAccResourceNcloudSourcePipelineProject_classic_updateDescription (74.21s)
--- PASS: TestAccResourceNcloudSourcePipelineProject_vpc_basic (69.24s)
--- PASS: TestAccResourceNcloudSourcePipelineProject_vpc_updateTaskName (73.59s)
마지막 테스트 통과 및 전체 테스트 통과
--- PASS: TestAccResourceNcloudSourcePipelineProject_vpc_updateDescription (73.62s)
pr 올리기
멘토님의 피드백이 없었다면... 계속해서 헤매고 있었을 것이다... 짱..!!
'개발 > Terraform on NaverCloud' 카테고리의 다른 글
MSSQL Test 하기 (0) | 2023.09.11 |
---|---|
MSSQL 개발하기 (1) (0) | 2023.09.09 |
이슈 선정 3 : MSSQL 리소스 개발하기 (0) | 2023.08.22 |
SourcePipelineProject 살펴보기 (1) (0) | 2023.08.21 |
이슈 선정 2 : SourcePipelineProject (0) | 2023.08.21 |