gpt4 book ai didi

django - 如何让 Django 测试用例和 Selenium 服务器使用相同的数据库?

转载 作者:行者123 更新时间:2023-12-04 01:52:11 26 4
gpt4 key购买 nike

我有一个 Django(v1.4,使用 Postgresql)项目,我为它编写了一堆工作单元测试。这些使用 FactoryBoy生成他们的大部分数据。

我现在开始使用 LiveServerTestCase 编写一些集成测试与 Selenium 。我刚刚意识到我的测试和实时测试服务器使用不同的数据库。这意味着在我的测试中由工厂创建的数据不适用于 Selenium。

我不确定最好的进步方式。我想我可以使用fixtures来提供可以工作的数据,尽管使用工厂来代替这是一种痛苦。

有没有办法可以继续使用工厂来生成适用于我的 Selenium 测试的数据?我真的希望我的测试和 LiveServerTestCase 使用相同的数据库。

最佳答案

您是否尝试过使用 sqlite 作为测试的数据库后端?

When using an in-memory SQLite database to run the tests, the same database connection will be shared by two threads in parallel: the thread in which the live server is run and the thread in which the test case is run.



来自 Django docs

如果您不使用常规 ORM 之外的任何东西,您也可能会从测试加速中受益。

关于django - 如何让 Django 测试用例和 Selenium 服务器使用相同的数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12041315/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com