当前位置: 首页 > 面试题库 >

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

方琦
2023-03-14
问题内容

我有一个Django(v1.4,使用Postgresql)项目,为此我编写了许多工作单元测试。它们使用FactoryBoy生成大多数数据。

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

我不确定最好的进步方式。我 认为 我可以使用固定装置来提供可以正常工作的数据,尽管现在使用工厂来解决这个问题实在是很痛苦。

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


问题答案:

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

使用html" target="_blank">内存中的SQLite数据库运行测试时,相同的数据库连接将由两个线程并行共享:运行实时服务器的线程和运行测试用例的线程。

来自Django文档

如果您没有使用常规ORM之外的任何工具,那么您也可以从测试加速中受益。



 类似资料:
  • 我有一个服务器,用Java编写的,那是我的应用程序,我想在上面运行一些测试。我正在使用gradle来管理依赖项和构建任务等,所以我也想在这方面使用它。我需要启动服务器,然后运行我的单元测试,这会对它发出一堆HTTP请求,然后在测试完成后,理想情况下甚至关闭服务器。所以我尝试在build.gradle中添加(jettyRunWar是运行服务器的工具),但我想这太简单了,因为从不从jettyRunWa

  • 从excel文件读取测试数据。要求:我想首先我的所有测试应该运行在相同的测试数据,即excel行,然后所有测试与另一行。 解决方案:尝试将@Factory与我的@DataProvider一起使用 问题:如果我在@dataProvider中使用核心值,那么它可以正常工作。但是当从excel动态获取时,如果给我错误:[错误]导致:java.lang.NullPointerException } 基类

  • 问题内容: 您是否建议在@Test方法中对测试用例进行任何分组,还是每个测试方案都有一个@Test方法?例如,假设有多种方法可以在应用程序中设置上下文。 以下想法可以接受吗? 或者,您宁愿建议这样做,让每个方法都尽可能原子化: 对于任何反馈,我们都表示感谢。 问题答案: 我更喜欢每种方法有一个测试用例。 首先,如果将它们拆分为多个方法,则比查找代码中嵌入的注释要容易得多。大多数IDE都会为您提供方

  • 你可以在你喜欢的客户端库中尝试 IdentityServer4。我们在 demo.identityserver.io 上有一个测试实例,在主页上你可以找到关于如何配置你的客户端和如何调用一个 API 的介绍。 此外我们还有一个包含大量 IdentityServer 与 Web API 组合演练的仓库(IdentityServer 3 和 4,ASP.NET Core 和 Katana),我们使用该

  • 问题内容: 我正在使用selenium中的webdriver和黄瓜中的红宝石来自动化网站的测试用例。我需要每个功能以特定顺序运行并使用相同的浏览器窗口。Atm的每个功能都会创建一个新的窗口来运行测试。尽管在某些测试案例中,这种行为是需要的,但在许多情况下却不是。到目前为止,从我的研究看来,在整个测试案例中,是否有可能使用selenium驱动相同的浏览器窗口,答案不一。我遇到的大多数答案都是针对其他

  • 问题内容: 我正在实施基于Web服务的大学管理系统。该系统将某些课程添加到数据库。下面是我正在使用的代码。 Course.java 然后另一个文件如下 CourseDaoImpl.java 第三个是下面的Web服务文件,它与前两个交互并向数据库添加数据。 CourseService.java 查看我的代码清单,任何机构都可以建议我如何为我的add方法编写测试用例。我完全是JAVA的初学者,我从朋友