Spring et Jmock : injecter un mock dans un @autowired
Bonjour à tous,
Actuellement en stage et en découverte du Framework Spring, je dois mettre en place des tests unitaires au sein d'un Progiciel.
Pour isoler la méthode a tester, j'ai décider d'utiliser des mock ( Jmock), qui simule les objets externe à mon objet testé. Seulement, l'objet que je simule est attribué avec @autowired par spring.
je ne comprend pas comment l'attribuer à mon objet puisque je n'ai du coup pas de setter.
Voici la structure actuelle de mon code, tout conseil est la bienvenue. Découvrir les progiciels, spring et les test unitaires d'un coup... j'avoue que j'arrive plus à m'en sortir.
Code:
1 2 3 4 5 6 7 8 9 10 11
|
public class ClasseAtester implements IclassAtester {
@Autowired private ADao myDao = null;
public void method1(){
//accés au dao
} |
Voici ma classe de test :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
public class TestClasseAtester extends TestSpring_Junit4_compatibility
{
private static final String[] context = {
"./metadata/applicationContextTest.xml"};
Mockery mContext = new JUnit4Mockery();
private ClasseAtester tst = null;
@Before
public void initMockery(){
myDao = mContext.mock(IRfotpeDao.class);
tst = (ClasseAtester) applicationContext.getBean("IClasseAtester");
}
protected String[] getConfigLocations() {
return context;
}
@Test
public void testMethod1()
{
//code Expectation
/////....
/////
tst.method1();
//assertIsSatisfied()....
}
} |
Merci d'avance.