Android Studio ROOM测试

最近在学习安卓开发 感觉自己有点傻

搭完ROOM数据库后说一些细节部分

ROOM数据库搭建可以看官方文档 网上也有很多例子

但是到测试就戛然而止了

首先,官方文档给的是JUnit4,这应该是一种真机测试

我开始测试的时候还是安装了一遍应用程序..然后才安装的测试程序

可能是写的程序太小了 所以看不出来有多节省时间

注意应该是在这个文件夹Android Studio ROOM测试_第1张图片编写运行

我开始一直用的这个,出现了各种错误Android Studio ROOM测试_第2张图片

现在想想这个应该是UI测试的,害

我弄了一个上午,我才明白

测试的地方我就贴代码了,其实就是官方的文档

public class ExampleInstrumentedTest {

    private IDatabase userDao;
    private DatabaseCreator db;
    @Before
    public void createDb() {
        Context context = ApplicationProvider.getApplicationContext();
        db = Room.inMemoryDatabaseBuilder(context, DatabaseCreator.class).build();
        userDao = db.Dao();
    }
    @After
    public void closeDb() throws IOException {
        db.close();
    }
    @Test
    public void DatabaseTest(){
        writeDatabase(userDao, 10, "2020-3-1","income","10",100,"hhh");
        List users = userDao.findUsersByDate("2020-3-1");
        assertEquals(users.get(0).getDate(),"2020-3-1");
    }
}

其中 IDatabase是DAO方法的接口,命名不太规范..开始啥也不会

DatabaseCreator是ROOM的生成

User是我自定义的数据库类名

writeDatabase是根据相应参数调用Insert方法向数据库中写入数据

getDate是数据库的getter方法

findUserByDate是根据条件查找数据库

你可能感兴趣的:(Android)