pyqt和pyside应用程序的pytest支持

pytest-qt的Python项目详细描述


pytest qt是一个pytest插件,允许程序员编写测试 对于PySidePySide2PyQt应用程序。

主要用途是使用qtbotfixture,负责处理qApp 根据需要创建并提供模拟用户交互的方法, 就像按键和鼠标点击一样:

deftest_hello(qtbot):widget=HelloWidget()qtbot.addWidget(widget)# click in the Greet button and make sure it updates the appropriate labelqtbot.mouseClick(widget.button_greet,QtCore.Qt.LeftButton)assertwidget.greet_label.text()=="Hello!"

这允许您测试并确保您的视图层在每次代码更改后都按预期的方式运行。

Supported Python versionsversionconda-forgetravisappveyorcoveragedocsblack

功能

要求

使用PySidePySide2PyQtPyQt5PyQt4)选择 在系统上可用,优先于安装在 此订单:

  • PySide2
  • PyQt5
  • PySide
  • PyQt4

要强制特定的api,请将pytest.ini文件中的配置变量qt_api设置为 pyqt5pysidepyside2pyqt4pyqt4v2pyqt4v2设置PyQt4 指向version 2的API。

[pytest]qt_api=pyqt5

或者,可以设置PYTEST_QT_API环境 变量的值与上面描述的值相同(环境变量胜过配置 如果两者都已设置)。

文档

完整的文档和教程可在Read the Docs找到。

更改日志

请咨询changelog page

错误/请求

请在issue tracker中报告任何问题或功能请求。

贡献

欢迎投稿,因此请随时提交错误或功能 请求。

非常感谢拉取请求!如果你 可以,包括一些测试来运行新代码,或者测试一个bug 修正,并确保将自己包含在贡献者列表中。:)

运行测试

使用tox运行测试。建议在python 3上进行本地开发,因为 PyQt5PySide2可以使用pip轻松安装:

$ tox -e py37-pyside2,py37-pyqt5

pytest-qt使用black格式化并使用 pre-commit用于提交之前的linting检查。你 可以使用以下命令在本地安装pre-commit

$ pip install pre-commit
$ pre-commit install

贡献者

非常感谢:

pycharm

pydev

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

推荐PyPI第三方库


热门话题
关于如何将spring mvc重构为普通servlet或jetty处理程序的java建议   java循环和处理数据输入错误   使用java获取更改内容   java试图向一个数组中添加5张不同的“卡”,但它正在添加5张相同的卡   Java函数在Matlab类中变得未定义   多线程Java使用对象作为监视器,那个对象不是太重了吗?   将MySQL日期转换为Java日期:Android   java ResourceBundle在哪里。getBundle(“ResourceFile”,新语言环境(“us”,“us”))查找该文件?   java第一人称摄影机卷   如何在java中交替使用两个字符   addActionListener上下文中的java“this”   几天后,java Grails和Jasig CAS重定向循环   JavaAnt如何在javac中使用exclude、excludesfile?   java如何设置单行RecyclerView上的文本?