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 Access文本视图   安卓在Java中,我什么时候应该用*导入整个包,而不是从包中导入单个对象?   JavaSpringMVC:请解释@RequestParam和@ModelAttribute之间的区别   java Flyway Ant构建未迁移   java“没有可供下载的文件”   如何解决java静态名称冲突?   我是否需要框架来补充JavaEE6、JSF2 WebApp?哪一个?   java如何传递HttpServletRequest参数?   只有java的视频不会播放声音。为什么?   java在Maven3中做这样的属性重写工作吗?   java计算Android中两个标记之间的距离   Javascript页面加载中的java复选框持久性问题   java序列化lambda函数的映射   java使用jersey、maven和eclipse配置swagger   java我可以在oncreate方法之外使用setContentView吗?   java在使用JAXRS响应类返回实体时遇到异常   java规范了加密和解密文本的文本编写方法   java如何更改ChoiceBox的默认大小?   java在Android上暂时禁用PIN/密码锁