минимальный пример, но его надо запускать локально, т.к. надо в [dev-dependencies] прописать mockall = "0.7.0":
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=8d43a7072ac89b267d58b4a3c2d06b1b
Оно компилится в обычном режиме, но обламывается в тест
У тебя там blanket-реализация трейта CreoMetadata, а в моке у тебя написано “trait CreoMetadata”. Если мок создает внутри себя этот трейт, то это будет другой трейт, который не будет соответствовать той blanket-реализации в не-тестовом коде
Вот тут описал
Обсуждают сегодня