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第三方库


热门话题
如何加载。java文件到编译器?   java写入文件和I/O   java日历返回错误的当前日期安卓   if语句if变量等于1(java)   java很难让Joda有时间使用我的bukkit插件   json如何创建基于java的应用程序,该应用程序将从网站获取输入   java如何在多页中打印大型JPanel   java my spinner在添加从firebase数据库中选择的多个值时被覆盖   java用Play框架覆盖HTTP方法   试图获取所有用户时,java错误请求400。Dto和表格   java支持bean加载图像后javascript自动调用JS函数   java在MTOM的@StreamingAttachment(Metro)中,Parsely的意思是什么   具有可抢占线程队列的多线程java执行器   Java Opencv connectedComponentsWithStats   java如何向数组中添加2D数组的数目   eclipse为什么我的Java Zork克隆不能正确循环?   java在哪里放置定制的第二个web。xml   java如何更改最近应用列表中显示的快照?   java Browser#getText()返回空字符串