我需要测试一些需要我的应用程序数据库和上下文的函数。
我曾经像这样实现我的测试用例:
// TestCase is in the same package with tested module
package com.ircos.andromeda.utils;
...
// database operation classes
import com.ircos.andromeda.database.MeasurementDbAdapter;
import com.ircos.andromeda.database.SessionDbAdapter;
import com.ircos.andromeda.database.domain.Measurement;
import com.ircos.andromeda.database.domain.Session;
import com.ircos.andromeda.exceptions.ExportException;
public class SessionExportHelperTestCase extends AndroidTestCase {
...
所以,我认为通过getContext()检索的上下文应该返回我的应用程序的上下文,并且我可以像使用应用程序本身一样使用数据库。
但我失败了。我做错了什么?
protected void setUp() {
sessionDbAdapter.open(); // exception fires here!
...
public void open() throws SQLiteException {
if (isOpen())
return;
this.open(new DatabaseManagementHelper(this.ctx)); // context is null!
}
答案 0 :(得分:0)
据推测,您尚未将getContext()
分配给this.ctx
,因此this.ctx
仍为null
。