>  기사  >  백엔드 개발  >  구조체 리터럴의 *gorm.DB 값으로 mockDB(*MockDB 유형의 변수)를 사용할 수 없습니다.

구조체 리터럴의 *gorm.DB 값으로 mockDB(*MockDB 유형의 변수)를 사용할 수 없습니다.

WBOY
WBOY앞으로
2024-02-14 22:10:08744검색

구조체 리터럴의 *gorm.DB 값으로 mockDB(*MockDB 유형의 변수)를 사용할 수 없습니다.

PHP 개발에서 MockDB(MockDB 유형 변수)를 구조의 gorm.DB 값으로 사용할 때 문제가 발생할 수 있습니다. 이 경우 MockDB를 gorm.DB에 직접 할당할 수 없습니다. 이로 인해 코드가 컴파일되지 않거나 런타임 오류가 발생할 수 있습니다. 이 문제와 관련하여 PHP 편집자 Xigua는 유형 변환을 사용하거나 구조의 gorm.DB 값이 올바르게 할당될 수 있도록 코드 논리를 재설계하는 등 다른 방법을 사용하여 문제를 처리할 것을 제안했습니다. 이 문제를 처리하기 위해 올바른 방법을 사용하면 불필요한 오류와 예외를 방지하고 코드의 신뢰성과 안정성을 향상시킬 수 있습니다.

질문 내용

postgres 데이터베이스에서 연습문제를 가져오는 get 함수를 만들었습니다. 모의 테스트를 작성했는데 구조에서 이 오류가 발생합니다. 어떻게 해결할 수 있나요?

저는 *gorm.db 구조를 갖는 핸들러 구조를 사용했습니다.

오류:

mockdb(*mockdb 유형의 변수)를 구조 리터럴의 *gorm.db 값으로 사용할 수 없습니다

으아악 으아악

내 핸들러 구조로 모의 테스트를 하고 싶습니다.

해결 방법

mockdb 和 gorm 的 db은 두 가지 다른 구조이므로 서로 바꿔서 사용할 수 없습니다. 동일한 인터페이스를 구현하면 동일한 위치에서 사용할 수 있습니다. 예:

으아악

이제 인터페이스의 모든 메소드를 *gorm.db 传递给代码中的 registerroutes 函数。为了进行测试,如果 mockdb 结构实现了 store 사용할 수 있습니다.

위 내용은 구조체 리터럴의 *gorm.DB 값으로 mockDB(*MockDB 유형의 변수)를 사용할 수 없습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제