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

pytest中的测试用例执行顺序

单于耘豪
2023-03-14
问题内容

我正在使用pytest。我的目录中有两个文件。在其中一个文件中,有一个长时间运行的测试用例,它会生成一些输出。在另一个文件中,有一个测试用例读取该输出。如何确保两个测试用例的正确执行顺序?除了以适当的顺序将测试用例放入同一文件之外,还有其他选择吗?


问题答案:

通常,您可以使用其明确指定的hook来配置pytest基本上任何部分的行为。

对于您的情况,您需要“ pytest_collection_modifyitems”挂钩,该挂钩可让您对收集的测试进行重新排序。

就是说,订购测试似乎应该更容易-毕竟这是Python!所以我写了一个用于订购测试的插件:“ pytest-
ordering”
。签出文档或从pypi安装。现在,我建议使用@ pytest.mark.first和@ pytest.mark.second或@
pytest.mark.order#标记之一,但是我对更有用的API有一些想法。欢迎建议:)



 类似资料:
  • 下面TestNG执行测试用例会导致失败。错误-org.openqa.selenium.WebDriverExcture:在处理命令时发生了未知的服务器端错误。原始错误:无法将命令代理到远程服务器。原始错误:错误:套接字挂断(警告:服务器没有提供任何堆栈跟踪信息)命令持续时间或超时: 56毫秒

  • 问题内容: 我有一个测试用例,其中添加了一个实体,对其进行了更新并删除了该实体。因此,执行顺序在这里很重要。我希望它是: 创造 更新资料 删除 奇怪的是,对于仅一个测试用例(15个测试用例),JUnit按以下顺序执行它: 删除 更新资料 创造 。 如何告诉JUnit按特定顺序执行它们?在其他情况下,JUnit可以正常工作(串行执行)。在这种情况下,为什么JUnit表现怪异? 以下相关代码段: 变得

  • 问题内容: 假设JUnit按顺序执行测试用例是否合理:测试用例在下一个测试用例开始之前结束。JUnit版本之间是否有所不同(我的优先级在JUnit4上)?如果没有,是否有一种简单的方法可以强制JUnit按顺序执行测试? 谢谢 问题答案: 是的,默认情况下,我相信它会按顺序运行测试。 JUnit 4.6引入了一个实验来并行运行测试- 我不知道它的当前状态。我希望并行机制在默认情况下仍保持“选择加入”

  • 主要内容:1 概述,2 测试执行顺序,3 例子,4 结论1 概述 在本指南中,我们将学习如何按顺序执行测试。默认情况下,JUnit以任何顺序执行测试。 2 测试执行顺序 要更改测试执行顺序,只需使用@FixMethodOrder注释测试类并指定可用的MethodSorters之一: @FixMethodOrder(MethodSorters.JVM):按照JVM返回的顺序保留测试方法。此顺序可能因运行而异。 @FixMethodOrder(Method

  • 我有一个包-'脚本' 根据剧本,我有两个类别——甲和乙 在一个类中,我有3个方法(@Test)按顺序编写- 在B班我有一种方法- TestNG. XML 在执行时——作为TestNG套件——右键单击TestNG XML并选择Run as a TestNG Suite 类B首先执行-这是因为类B中的@Test没有指定优先级,因此成为最高优先级 有没有办法让@Test的优先级只在类中起作用?为什么Te