我听说单元测试是保持代码正常工作的好方法。
单元测试通常会对函数进行简单输入,并检查其简单输出。但是我该如何测试用户界面?
我的程序是用PyQt编写的。我应该选择PyUnit,还是Qt的内置QTest?
答案 0 :(得分:20)
有关使用Python的单元测试框架和QTest here的好教程。
不是选择其中一个。相反,它是关于将它们一起使用。 QTest的目的只是模拟击键,鼠标点击和鼠标移动。 Python的单元测试框架处理其余的(设置,拆除,启动测试,收集结果等)。
答案 1 :(得分:0)
如果您更喜欢使用 pytest
,也可以选择 pytest-qt
:
https://pytest-qt.readthedocs.io/en/latest/intro.html
它让您可以测试 pyqt
和 pyside
应用程序,并允许模拟用户交互。这是其文档中的一个小示例:
def test_hello(qtbot):
widget = HelloWidget()
qtbot.addWidget(widget)
# click in the Greet button and make sure it updates the appropriate label
qtbot.mouseClick(widget.button_greet, QtCore.Qt.LeftButton)
assert widget.greet_label.text() == "Hello!"