java - 单元测试对dao层的测试有什么好的实践方案?
阿神
阿神 2017-04-18 10:56:06
0
1
537

比如对某个新增的dao进行单元测试,那岂不是要真的往数据库中插入一条数据?每次单元测试都新增一条数据?

还有,查询操作,返回一个List的对象集合,怎么判断数据是准确的呢?

对于单元测试,大家有什么好的实践方案吗?

阿神
阿神

闭关修行中......

répondre à tous(1)
Ty80

Lorsque vous utilisez une base de données dans des tests unitaires, vous pouvez envisager deux options :

  1. Créez une base de données de tests à long terme sous forme de test unitaire. Effacez les données non pertinentes avant de commencer ou une fois le test terminé pour garantir la répétabilité du test. L’inconvénient est que les tests unitaires peuvent échouer lorsque plusieurs personnes les exécutent en même temps.

  2. Utilisez une base de données en mémoire (telle que H2). L'avantage est qu'il n'est pas nécessaire d'effacer les données non pertinentes. L'inconvénient est que le processus d'initialisation de la base de données (comme les instructions de création de table) doit être inclus dans le test unitaire. Si l’initialisation est complexe, elle affectera également l’efficacité des tests unitaires.

Quant à la façon de vérifier les résultats de la requête, elle repose essentiellement sur la logique métier. Par exemple, lorsque mon test unitaire s'exécute ici, la requête renverra certainement 27 enregistrements, alors vérifiez si le nombre d'enregistrements renvoyés est de 27. Dans d’autres cas, vous pouvez le concevoir vous-même.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal