2013-10-07 84 views
1

如何编写一个包含数据库事务的junit测试用例,并且我们不确定输出结果..让我们在查询基于多个条件查询后从查询或ID中获取计数。如果我们检查count> 0或Id> 0,这是一个有效的比较吗?如何编写未知输出的JUnit测试用例

+6

用夹具初始化你的数据库或模拟它。 – 2013-10-07 09:06:48

+0

是的,一般来说,没有依赖于可能处于未知状态的* real *数据库的单元测试。 –

回答

3

测试的整个概念依赖于匹配实际状态与预期。这意味着期望已经被很好地定义并且事先已知。

我想你想检查交易,在这种情况下,你应该模拟数据。

您可以从预定义的模拟数据(始终是相同的数据)开始,以便代码将查询现有数据,并且您将确切知道预期返回的内容。

或者,您可以在测试开始时创建一个随机数据并构建测试流程,以便您始终知道查询的结果。

虽然这些方法几乎相同,但当需要在同一个模式/数据库上并行运行测试时,第二个方法很方便。另一方面,也许这样的测试编码会有些棘手。

希望这可以帮助