Как да дефинирам динамично и точно навреме свързване с Guice?

Опитвам се да използвам Guice за тестова рамка, базирана на TestNG. Тази рамка анализира тестовия клас за зависимости и ги предоставя, като елиминира необходимостта от изграждането им в тестове.

Guice е свързан с инжектиране и мисля, че е подходящ за рамката. Но въпросът е как да дефинирам свързвания, след като съм създал инжектора? Това е необходимо, защото тестовете могат да заменят обвързванията, за да заменят реализациите по подразбиране с фалшиви.

Освен това, искам да отгатна изпълнението по време на изпълнение в някои случаи въз основа на конвенциите за имена на класове. Звучи като функция за свързване Just-in-type. Но как да осигуря свой собствен доставчик на обвързване точно навреме?


person artemb    schedule 28.08.2009    source източник


Отговори (1)


Този вид динамично поведение не се поддържа готово, но можете да постигнете много с пренаписване на модула. Разгледайте Guiceberry, който вече прилага макетно заместване за JUnit тестове. (И помислете дали да им изпратите корекция на TestNG, те ще се радват!)

person Jesse Wilson    schedule 28.08.2009
comment
Предполагам също, че мога сам да намеря и инстанцирам желания клас (повечето от тях имат конструктори без параметри) и след това да накарам инжектора да инжектира неговите членове - person artemb; 29.08.2009