O / RM单元测试

时间:2013-09-13 02:28:23

标签: unit-testing junit4

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

我做错了什么,因为我应该怎样独立测试方法?

1 个答案:

答案 0 :(得分:0)

您应该使用内存数据库并使每个测试都自包含,而不依赖于DB中的预设数据(伪代码)

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();
}