猿问

对依赖于数据库的函数进行单元测试

我正在对某些功能进行测试。我有一个使用数据库查询的函数。所以,我浏览了一些博客和文档,这些博客和文档说我们必须在内存或测试数据库中创建一个才能使用这些功能。下面是我的功能,


def already_exists(story_data,c):

    # TODO(salmanhaseeb): Implement de-dupe functionality by checking if it already

    # exists in the DB.

    c.execute("""SELECT COUNT(*) from posts where post_id = ?""", (story_data.post_id,))

    (number_of_rows,)=c.fetchone()

    if number_of_rows > 0:

        return True

    return False

此函数命中生产数据库。我的问题是,在测试时,我创建了一个内存数据库并在那里填充我的值,我将查询该数据库(测试数据库)。但是我想测试我的already_exists()函数,already_exists从测试调用我的函数后,我的生产数据库将被命中。在测试此功能时如何使我的测试数据库命中?


凤凰求蛊
浏览 184回答 2
2回答
随时随地看视频慕课网APP

相关分类

Python
我要回答