Я не видел ни встроенной функции для этого, ни какой-либо известной библиотеки тестирования, которая бы это поддерживала.
Dagger выполняет всю свою зависимую проводку во время компиляции и только так, как вы говорите;в отличие от Spring, нет кода, написанного для чтения класса тестирования во время выполнения или предоставления необходимых ему зависимостей.Обращение Dagger к Guice и Spring связано с компиляцией, проверкой и оптимизацией во время компиляции.Хотя то, что вы описываете, было бы очень полезно, такое отражение противоречит первоначальным мотивам Даггера. Либо ваш компонент Dagger скомпилирован с сгенерированным кодом для внедрения теста, либо вы должны иметь возможность извлекать эти зависимости независимо, как вы перечислили выше.
Для модульных тестов выВозможно, вам придется пропустить Dagger и создать свои классы или их макеты вручную;для системных или интеграционных тестов вам нужно будет указать все классы, которые вам нужны, в определении компонента.Если вы хотите заменить зависимости тестовыми двойниками для повторяемости или изоляции, вам нужно сделать свой компонент достаточно настраиваемым, чтобы принимать реализации замены, или вам нужно создать новую реализацию компонента для тестирования, которая вместо этого использует тестовые двойникиреальных реализаций.