У меня есть несколько тестов, которые я бы хотел провалить, если определенные области Guice используются некорректно. Например, @Singleton
не должен иметь никаких зависимостей @RequestScoped
или @TestScoped
(Provider<>
, конечно, нормально).
В производстве это частично решается, потому что слагаемые с привязкой синглтоны будут построены до ввода области видимости, что приведет к OutOfScopeException
s. Но при разработке синглтон будет создан лениво, находясь внутри области видимости, и никаких проблем не видно.
Судя по этим два открытых вопроса, кажется, что нет простого, встроенного способа сделать это. Могу ли я достичь этого с помощью SPI? Я попытался использовать TypeListener
, но не ясно, как получить зависимости заданного типа.