2015-02-10 60 views
1

我有算法需要来自数据源的数据,如mysql,cassandra,hdfs现在算法处理数据并存储在相同locations.logic有输入道,业务逻辑和输出道。我通过嘲笑输入和输出dao来编写单元测试,但是总代码覆盖率较低,因为dao和服务没有涉及如何确保这些类在测试用例中被覆盖? 如何编写dao类的单元测试? 通过调用真实数据库的集成测试?如何在这种情况下编写单元和集成测试?

回答

2

如何编写dao类的单元测试?

你通常不会。

通过调用真实数据库进行集成测试?

这是正确的方法。对DAO类进行单元测试几乎没有任何意义,因为为了编写它们,你必须模拟出数据库......这将导致测试什么?你什么都不会测试(或者最好是嘲笑)。

+0

我也没有看到写入单元测试的DAO类,只是插入或更新在表中的任何意义。但是如果它使用某些DB逻辑如存储过程或一些数据库锁,那么测试它就很有意义。 – 2015-02-12 15:49:38