# #go #mocking #dylib #cgo
Вопрос:
Я использую go generate в сочетании с mock/mockgen для создания насмешек для тестирования.
Мои приложения используют a .dylib
, который включен в dependencies/libs/my.dylib
. Это прекрасно работает, когда я использую go build
для создания двоичного файла, но не работает, когда я использую go generate
. Ошибка, которую я получаю, такова
mockgen -destination=some/file.go -package=mypackage path/to/package p
dyld: Library not loaded: my.dylib
Referenced from: /path/to/gomock_reflect_1234/prog.bin
Reason: image not found
prog.go:12:2: cannot find module providing package github.com/golang/mock/mockgen/model: working directory is not part of a module
prog.go:14:2: cannot find module providing package
Loading input failed: exit status 1
Я вызываю go generate через
CGO_ENABLED=1
CGO_LDFLAGS=$(CGO_LDFLAGS)
LD_LIBRARY_PATH=$(LD_LIBRARY_PATH)
DYLD_LIBRARY_PATH=$(LD_LIBRARY_PATH)
go generate -v -x ./folder/...
Я бы хотел просто изменить путь загрузки библиотеки, но это кажется трудным, так prog.bin
как автоматически генерируется.