test_func_1() -> Result<bool> {
Ok(true)
}
async fn test_func_2() -> Result<bool> {
Ok(false)
}
}
ты предлагаешь сделать impl для MockTestingService ?
ну типа того да я от души не понимаю в чем у тебя проблема
trait Worker { fn work(); } struct RealWorker; struct MockWorker; impl Worker for RealWorker { fn work() -> { todo!(); } } impl Worker for MockWorker { fn work() -> { todo!(); } } struct Service<W> { worker: W } impl<W: Worker> Service<W> { fn new(worker: W) -> Self { Self { worker } } } в тестах используешь мок воркер не в тестах реальный воркер
с таким подходом мне нужно 1. мокать все функции трейта 2. нужно в стракт тоже передавать либо мок либо реал Теперь, у меня есть http handler (controller) который может использовать разное кол-во сервисов #[post("")] pub async fn test_mock( ) -> Result<HttpResponse, ServiceError> { let res_1 = TestingService::test_func_1().await; let res_1 = TestingService::test_func_2().await; Ok(HttpResponse::Ok().json(json!{ {"success": true }})) } c подходом который ты описал мне нужно worker сделать dependency test_mock так ведь ?
И в чем проблемы?
я же написал вроде все
Ты написал что надо делать. Не написал почему не хочешь.
ну потому что я хочу просто мокнуть имплементацию для какой либо функции а не весь сервис мокать, и не хочу иметь зависимости. Получается сейчас мне нужно менять код просто чтобы его тестировать
Функции вида????? Опиши что функция делает Все твои проблемы из-за того что ты не можешь описать задачу (возможно, потому что ты сам не понимаешь чего хочешь)
Обсуждают сегодня