Comment procéderiez-vous au test unitaire d'un EJB utilisant JPA? Par exemple, si j'ai une entité Order et que OrderEJB est supposé calculer le total d'une commande (tel que défini ci-dessous), comment procéder pour tester l'EJB sans toucher à la base de données? De même, comment définiriez-vous des valeurs pour vos entités, de sorte que vous puissiez affirmer le calcul attendu? Voici quelques exemples de code ci-dessous ...Comment tester les EJB lors de l'utilisation de JPA2?
@Entity
public class Order {
@Id
private long OrderId;
private LineItem[] items;
}
Et un OrderEJB
@Stateless
public class OrderEJB {
EntityManager em;
public double calculateOrderTotal(long orderId) { .. }
}
Comment iriez-vous de tests unitaires la méthode calculateOrderTotal si je ne peux pas toucher la base de données? Je ne veux pas mettre en œuvre un DAO parce que j'essaie de m'éloigner de cette approche.
Merci pour toute aide.
Je suis d'accord avec cela +1 –
Mais comment affirmeriez-vous que le calcul est correct, si vous ne savez pas quelles seront les données? Avez-vous besoin d'utiliser des tests d'intégration pour le faire?Peut-être que je mélange les deux, je suis un peu confus à ce que la différence est entre les tests d'intégration et les tests unitaires ... –
Vous ** savez ** ce que les données vont être, je vais mettre à jour le répondre à expliquer. – djna