相关疑难解决方法(0)

我如何对持久性进行单元测试?

作为实践测试驱动开发的新手,我常常陷入困境,如何将持久性单元测试数据库.

我知道技术上这将是一个集成测试(不是单元测试),但我想找到以下最佳策略:

  1. 测试查询.
  2. 测试插页.我如何知道插件出现故障?我可以通过插入然后查询来测试它,但是我怎么知道查询没有错呢?
  3. 测试更新和删除 - 与测试插入相同

这些最佳做法是什么?


关于测试SQL:我知道这可以做到,但如果我使用像NHibernate这样的O/R Mapper,它会在用于输出查询的别名中附加一些命名瑕疵,因为这有点不可预测我不确定我可以测试一下.

我应该放弃一切,只是信任NHibernate吗?我不确定这是谨慎的.

sql-server tdd unit-testing

46
推荐指数
2
解决办法
5727
查看次数

Java解耦数据库操作代码并使其可测试

我想为以下方法编写测试:

public void addItem(Item item) {

    items.add(0, item);
    DatabaseHelper.getInstance().writeOneItem(item);
}
Run Code Online (Sandbox Code Playgroud)

该类称为ItemManager,它的职责是管理用户可以保存到列表或从列表中删除的项目.它应与保留列表中项目的Sqlite数据库保持同步.

当DatabaseHelper(ormlite)没有被引入时init(Context context)(通常在我的Andoid应用程序启动时发生,但在我的测试中没有完成),它的getInstance()方法将返回null并且从上面执行的方法将崩溃.

我该怎么办?我可以init(Context context)从我的测试中调用,或者DatabaseManager.getInstance()在调用它之前检查是否为null.但这似乎更像是一种解决方法.在我看来,我不应该在这个方法中做任何数据库的东西,并尝试尽可能地从数据库中分离ItemManager.

关于理想解决方案的外观的任何想法,不是从具体实施的形式,而是从一般的设计角度来看?

我是单元测试的新手,很难将相互之间的东西分开.

java unit-testing design-patterns

4
推荐指数
1
解决办法
306
查看次数

标签 统计

unit-testing ×2

design-patterns ×1

java ×1

sql-server ×1

tdd ×1