当前位置: 首页 > news >正文

网站开发与建设会计分录手机自己怎么建电影网站

网站开发与建设会计分录,手机自己怎么建电影网站,wordpress置顶,宁夏网站制作哪家好在 Python 中,pytest 是一个强大的测试框架,用于编写和运行测试用例。通常我们会在命令行中运行 pytest,但是有时你可能希望从模块或脚本的内部运行 pytest,比如为了自动化测试或集成到某个工作流程中。 1、问题背景 当你从模块…

在 Python 中,pytest 是一个强大的测试框架,用于编写和运行测试用例。通常我们会在命令行中运行 pytest,但是有时你可能希望从模块或脚本的内部运行 pytest,比如为了自动化测试或集成到某个工作流程中。在这里插入图片描述

1、问题背景

当你从模块内部运行 Pytest 时,Pytest 似乎会缓存测试。对模块或测试的任何更改都会被忽略。由于在 iPad 上编写 Python,因此无法从命令行运行 Pytest,只能使用 pytest.main() 来运行测试。这个问题已经广泛搜索,但只能找到一个相似的问题,建议从命令行运行 Pytest。

2、解决方案

Pytest 不会缓存任何内容。每个 Python 解释器实例仅读取一个文件一次。虽然有一个内置的 reload,但它几乎从不做你希望它做的事情。因此,如果运行以下代码:

import pytest
...
while True:import my_nifty_appmy_nifty_app.be_nifty()pytest.main()

即使 my_nifty_app.py 在磁盘上发生更改,它也将被只读取一次。实际上需要的是类似这样的代码:

exit_code = pytest.main()
sys.exit(exit_code)

这将结束解释器的该实例,这是确保重新读取源文件唯一的方法。

代码例子:

import pytest# 定义测试函数
def test_function():assert True# 定义一个包含测试函数的模块
module = """
def test_function():assert True
"""# 从模块内部运行 Pytest
exec(module)
pytest.main()# 对模块进行更改
module = """
def test_function():assert False
"""# 再次从模块内部运行 Pytest
exec(module)
pytest.main()# 现在,测试应该失败

要从模块内部运行 pytest,可以使用 pytest.main() 方法。这是一个 Python 接口,允许你以编程方式运行测试。

步骤:

  1. 安装 pytest
    确保已安装 pytest。如果没有安装,可以通过以下命令安装:

    pip install pytest
    
  2. 从模块内部调用 pytest.main()

    通过调用 pytest.main(),你可以从 Python 脚本中运行测试。你可以传递命令行选项给 pytest.main() 来控制运行的测试文件或参数。

    示例 1:从模块内部运行 pytest

    创建一个简单的测试文件 test_sample.py,并编写测试用例:

    # test_sample.pydef test_addition():assert 1 + 1 == 2def test_subtraction():assert 2 - 1 == 1
    

    然后在另一个模块或脚本中运行 pytest.main() 来执行测试:

    # run_tests.pyimport pytestdef run_tests():# 运行所有测试pytest.main()if __name__ == "__main__":run_tests()
    

    当你运行 run_tests.py 时,它会从内部执行 pytest,并自动运行当前目录下的所有测试文件(以 test_ 开头或以 _test 结尾的文件)。

    python run_tests.py
    

    输出将显示测试结果,如同你从命令行运行 pytest 一样。

  3. 指定测试文件或目录

    你可以通过传递参数来指定要运行的测试文件或目录。例如,指定某个特定的测试文件运行:

    # run_tests.pyimport pytestdef run_tests():# 只运行指定的测试文件pytest.main(["test_sample.py"])if __name__ == "__main__":run_tests()
    
  4. 传递 pytest 选项

    pytest.main() 支持接受命令行选项作为参数。例如,如果你想启用详细模式(-v)或者只显示失败信息(--maxfail=1),可以传递这些选项。

    # run_tests.pyimport pytestdef run_tests():# 使用命令行选项运行测试:启用详细模式并设置最大失败次数pytest.main(["-v", "--maxfail=1", "test_sample.py"])if __name__ == "__main__":run_tests()
    
  5. 处理 pytest.main() 返回值

    pytest.main() 返回一个整数,表示测试运行的结果:

    • 0:所有测试都通过。
    • 1:有测试失败。
    • 2:测试执行被中断。
    • 3:内部错误。
    • 4:命令行用法错误。

    你可以根据这个返回值做进一步的处理:

    # run_tests.pyimport pytestdef run_tests():result = pytest.main(["-v", "test_sample.py"])if result == 0:print("All tests passed.")else:print(f"Tests failed with code {result}")if __name__ == "__main__":run_tests()
    

完整示例

以下是一个完整的示例,展示了如何从模块内部运行 pytest,并传递自定义参数:

# run_tests.pyimport pytestdef run_tests():# 运行测试,启用详细模式,并且指定只运行 test_sample.pyresult = pytest.main(["-v", "test_sample.py"])if result == 0:print("All tests passed.")else:print(f"Tests failed with code {result}")if __name__ == "__main__":run_tests()

其他注意事项

  • 避免递归调用:当从模块内部运行 pytest 时,要避免直接在测试文件中调用 pytest.main(),否则可能导致递归调用,因为 pytest 运行时也会加载测试文件。
  • 虚拟环境和依赖管理:确保在正确的虚拟环境中运行 pytest,以避免依赖冲突。

通过这些步骤,你可以在 Python 脚本中方便地调用和控制 pytest,从而实现自动化测试或集成测试的需求。

http://www.zhongyajixie.com/news/31406.html

相关文章:

  • 做网站应该注意什么新手怎么做电商
  • 个人网站引导页源码北京培训学校
  • 杭州网站建站平台刷关键词优化排名
  • html网站分页怎么做的app开发流程
  • 广州海珠网站制网络营销的有哪些特点
  • 西宁公司官方网站建设我想创建一个网络平台
  • 做企业网站需要的人腾讯3大外包公司
  • 用axure做网站建立网站用什么软件
  • web网站开发与管理央视新闻的新闻
  • 找个会做网站的 一起做网站怎么做网络销售
  • 楼市南京做凶宅的网站个人网站免费域名注册
  • 公司网站公司网站社群营销的十大步骤
  • 房子做水电的时候是不是要先埋网站360推广开户
  • 如何安装wordpress的插件北京seo服务商
  • wordpress好用的模板下载地址seo网站排名优化公司哪家
  • 柳城网站开发福建百度seo排名点击软件
  • 手机app开发用的是什么语言seo排名优化软件有用吗
  • 站长工具短链接生成seo入门教程网盘
  • 宁波营销型网站建设郑州做网站的大公司
  • 做网站需要做哪些东西快速排名提升
  • 青海网站建设怎么建设百度怎么推广自己的信息
  • 网站建设与管理难学吗nba实力榜最新排名
  • 如何做h5 网站seo排名资源
  • 织梦框架做网站简单怎么给自己的公司建立网站
  • 温州做网站制作哪家好优化搜索点击次数的方法
  • 西充县住房和城乡规划建设局网站移动建站模板
  • 店铺网站域名怎么做seo外链推广平台
  • 做网站能传电影网站多少钱游戏优化大师下载安装
  • 企业手机网站开发哪个网站做推广效果好
  • 公众平台网站开发哪家好最常用的搜索引擎有哪些