pytest插件和bowler codemod帮助将测试迁移到python 3

pytest-mark-no-py3的Python项目详细描述


pytest-mark-no-py3

这个包提供一个pytest插件和一个Bowler codemod帮助将测试迁移到python 3。

任何标记为@pytest.mark.no_py3的测试都将在以下情况下失败 在python 3上运行,如果意外通过,则测试将失败。

用法

添加@pytest.mark.no_py3

  1. 在测试依赖项中安装此包。

  2. 在python 3上运行测试,用pytest的--result-log保存结果。 选项,例如:

    tox -e py37 -- --result-log=test-results.txt
    
  3. 使用python 3虚拟机中的bowler附加程序安装此软件包:

    pip install pytest_mark_no_py3[bowler]
  4. 将标记应用于在python 3上失败的所有测试,从 运行测试的同一目录:

    python -m pytest_mark_no_py3.add --result-log=path/to/result-log.txt path/to/your/tests
    

    如果您感到自信,还可以使用--no-interactive选项 在不提示接受更改的情况下应用codemod。

删除@pytest.mark.no_py3

  1. 修复一些代码,使测试开始在python 3上传递,从而违反了xfail。

  2. 在python 3上运行测试,用pytest的--result-log保存结果。 选项,例如:

    tox -e py37 -- --result-log=test-results.txt
    

    警告:唯一失败的测试应该是您修复的测试,并且 希望从中删除标记!

  3. 使用python 3虚拟机中的bowler附加程序安装此软件包:

    pip install pytest_mark_no_py3[bowler]
  4. 从所有“失败”的测试中移除标记(即 在python 3上,运行于 您从以下位置运行测试:

    python -m pytest_mark_no_py3.remove --result-log=path/to/result-log.txt path/to/your/tests
    

    如果您感到自信,还可以使用--no-interactive选项 在不提示接受更改的情况下应用codemod。

运行测试

运行tox

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将Scanner对象作为构造函数参数传递给UserInterface类   spring未能启动bean“subtocolWebSocketHandler”;嵌套的例外是java。lang.IllegalArgumentException:没有处理程序   Java EE应用程序中后台服务的多线程Java线程(设置守护进程和优先级)?   java Pull to refresh返回列表的第一个位置   无法将comparator类转换为java。可比的   java将json从servlet传递到dojo   JavaHibernate:将子类实例转换为超类实例   java警告调用servlet类时非法反射访问   java静态变量值   java@Entity和@embeddeble之间有什么区别   java将作业配置导入公共作业配置类(注释配置)   sql公共表表达式(以values语句开头)在java中给出错误   java在ImageJ中使用ImageProcessor   java PostgreSQL executeBatch()会随着时间的推移而变慢   java在安卓中以表格形式排列sqllite表数据?   java中SVG的swing定制呈现   java删除与另一个实体映射的实体   java何时/如何添加ListView适配器,使用back按钮恢复它?(片段)   java为什么IBinder和Binder之间的类型转换不是非法的?   java在方法参数列表中使用ArrayList或List