zoukankan      html  css  js  c++  java
  • pytest使用笔记(一)

    使用环境及预置条件:pycharm+win10+python3.6+pytest

    1,创建示范的测试功能脚本,另存为test_sample.py,代码如下:

    #  test_sample.py
    def func(x):
      return x + 1
    def test_answer():   assert func(3) == 5
    def test_answer1(): assert func(3) == 4

      

    2,使用M-DOS进入test_sample.py脚本存放的同级目录下,输入pytest,显示结果如下:

    到此可以清楚的看到是哪个用例发生错误,以及错误内容,用例执行结果及用例运行总时间。

    运行pytest命令时会运行在当前目录或者子目录中,格式为test_*.py或*_test.py的文件

    3,需要断言一些意料之中的报错时,可以使用raises命令断言异常:

    # content of test_sysexit.py
    import pytest
    def f():
      raise SystemExit(1)
    def test_mytest():
      with pytest.raises(SystemExit):
        f()

    4,运行简单模式测试报告:pytest -q

    完整模式与简单模式对照截图如下:

    5,在第N个错误时终止测试:

    pytest -x:在第一个测试用例发生错误时就停止运行,pytestpytest -x 效果对照图如下:

     pytest --maxfail=2,在第2个测试用例发生错误时就停止运行,截图如下:

     6,选择执行特定的测试用例:

    (1)运行单个文件的用例,test_mod.py就是要执行的测试用例文件:

    pytest test_mod.py

    (2)运行在同一个文件夹内的所有用例,testing/就是要执行测试用例所在的文件夹:

    pytest testing/

    (3)运行某些包含关键字的用例,如包含TestClass的用例:

    pytest -k "TestClass"

    (4)运行某一文件内特定模块的用例:

    TestClass是第一个class的名称,运行pytest test_class.py::TestClass会运行TestClass类下用例

     (5)运行用@ pytest.mark.slow装饰器修饰的用例:

    pytest -m slow
  • 相关阅读:
    ## 序列化和反序列化
    C#小型资源管理器
    codeforces #310 div1 B
    codeforces #310 div1 A
    BZOJ 1030 文本生成器
    BZOJ 2806 cheat
    BZOJ 2553 禁忌
    BZOJ 4199 品酒大会
    codeforces #309 div1 D
    codeforces #309 div1 C
  • 原文地址:https://www.cnblogs.com/lza945/p/10320851.html
Copyright © 2011-2022 走看看