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

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

王林
王林앞으로
2024-02-10 15:20:10484검색

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으로 문의하시기 바랍니다. 삭제