comme cela apparaît dans ma question, je suis confus quant à savoir quand et pourquoi utiliser des objets fictifs lors du test des ejbs. J'utilise JUnit simple et je trouve que ça marche, mais je sais que ce n'est pas toute l'histoire.Quand et pourquoi utiliser Mocking lors du test des EJB
Exemple:
@Stateless(name = "MyService")
public class MyBean extends BaseBean implements MyService
{
public MyBean()
{
}
public List<Category> getAllMainCategories()
{
//Category.findAll is a named query defined in Category entity
return (List<Category>) em.createNamedQuery("Category.findAll").getResultList();
}
}
Et voici la classe de test:
public class MyServiceTest
{
MyService service;
@Before
public void setUp() throws Exception
{
Context context = new InitialContext();
service = (MyService) context.lookup("MyService");
}
@Test
public void getAllMainCategories() throws Exception
{
assertNotNull(service);
assertTrue(service.getAllMainCategories().size() > 0);
}
}
Comme vous le voyez, je suis en train de faire des tests unitaires pour les haricots de session sans avoir besoin d'objets fantaisie ... donc est c'est entièrement vrai, ou je manque de quelque chose?