0

我正在做一些 O/RM uni 测试。现在问题来了。1)要测试delete(),我需要使用insert() 2)要测试insert(),我需要使用select()

我做错了什么,因为我还应该如何独立测试方法?

4

1 回答 1

0

您应该使用内存数据库并使每个测试独立,而不依赖数据库中的预设数据(伪代码)

test should_insert_my_object_into_db() {
    //given
    MyObject original = givenNewMyObject();
    //when
    db.insert(original);
    //then
    MyObject copy = db.selectById(original.id);
    assertThat(copy).isEqualTo(original);
}

test should_delete_my_object_from_db() {
    //given
    MyObject original = givenMyObjectInsertedIntoDB();
    //when
    db.delete(original.id);
    //then
    MyObject copy = db.selectById(original.id);
    assertThat(copy).isNull();
}
于 2013-09-13T03:31:46.420 回答