> 백엔드 개발 > Golang > Gorm 다른 열 순서 및 테스트 실패

Gorm 다른 열 순서 및 테스트 실패

王林
풀어 주다: 2024-02-10 15:20:10
앞으로
442명이 탐색했습니다.

Gorm 不同的列顺序和测试失败

PHP 편집자 Xinyi는 Gorm에 대한 문제를 소개하기 위해 왔습니다. Gorm을 사용하여 데이터베이스 쿼리를 수행할 때 다른 열 순서로 인해 테스트가 실패할 수 있습니다. 이는 Gorm이 쿼리를 수행할 때 구조의 필드 순서에 따라 SQL 문을 생성하기 때문입니다. 쿼리에 특정 열 순서를 지정했지만 구조의 필드 순서가 일치하지 않으면 테스트가 실패합니다. 따라서 데이터베이스 쿼리에 Gorm을 사용할 때 이 문제를 방지하려면 쿼리의 열 순서와 일치하는 구조의 필드 순서에 주의해야 합니다.

질문 내용

내 코드에는 다음 모델이 있습니다.

으아악

저는 gorm.DB 结构的 CreateInBatches 방식을 사용하고 있습니다.

단위 테스트에는 go-sqlmock을 사용합니다. 이 모델에서는 삽입 작업만 수행됩니다.

으아악

내 테스트 케이스는 create_dateupdate_date의 순서가 달라서 실패하는 경우가 있습니다.

실패 중 하나는

으아악

내 사용 사례에서는 삽입의 열 순서가 중요하지 않습니다. 모든 시나리오를 처리하기 위해 단위 테스트에서 이를 어떻게 처리할 수 있나요?

해결 방법

sqlmock 문서를 여기에서 읽은 후 다음 해결 방법을 얻었습니다.

으아악

열과 값을 삭제했습니다. 제 경우에는 create_dateupdate_date 필드에 신경 쓸 필요가 없어서 잘 작동합니다.

위 내용은 Gorm 다른 열 순서 및 테스트 실패의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:stackoverflow.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿