Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 单元测试PyQt应用程序_Python_Unit Testing_Python 3.x_Pyqt5_Python Unittest - Fatal编程技术网

Python 单元测试PyQt应用程序

Python 单元测试PyQt应用程序,python,unit-testing,python-3.x,pyqt5,python-unittest,Python,Unit Testing,Python 3.x,Pyqt5,Python Unittest,我正在尝试测试我的PyQt应用程序。我需要在PyQt小部件中查看我的单元测试结果,但当我运行单元测试时,应用程序关闭 这是我的代码: 验证\测试\应用程序副本: from PyQt5 import QtCore, QtWidgets from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkRequest import sys import unittest def get_size(url): manager = QNetw

我正在尝试测试我的PyQt应用程序。我需要在PyQt小部件中查看我的单元测试结果,但当我运行单元测试时,应用程序关闭

这是我的代码: 验证\测试\应用程序副本:

from PyQt5 import QtCore, QtWidgets
from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkRequest
import sys
import unittest

def get_size(url):
    manager = QNetworkAccessManager()
    response = manager.get(QNetworkRequest(QtCore.QUrl(r"https://" + url)))
    event = QtCore.QEventLoop()
    response.finished.connect(event.quit)
    event.exec()
    html = response.readAll()
    size = html.size()
    return size

class MainWindow(QtWidgets.QWidget):
    def __init__(self, parent = None):
        super(MainWindow, self).__init__()

        self.layout = QtWidgets.QVBoxLayout()
        self.label = QtWidgets.QLabel("Checking tests...")

        self.btn = QtWidgets.QPushButton("push")
        self.btn.clicked.connect(self.btn_clicked)

        self.layout.addWidget(self.label, alignment=QtCore.Qt.AlignCenter)
        self.layout.addWidget(self.btn)
        self.setLayout(self.layout)

    def btn_clicked(self):
        unittest.main(module="validation_test")

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)

    main_window = MainWindow()
    main_window.show()

    sys.exit(app.exec_())
验证_test.py:

import unittest
from validation_test_app import get_size

class TestUrls(unittest.TestCase):

    def test_1(self):
        size = get_size("apps4all.ru")
        self.assertEqual(size, 0)

    def test_2(self):
        size = get_size("google.com")
        self.assertNotEqual(size, 0)

例如,我想查看QLabel中的测试结果。这是真的吗?

这是一个很晚的回复,但因为我有同样的问题,我想我会发布。我认为解决方案是在主调用中添加
exit=False

unittest.main(module=“validation\u test”,exit=False)

您的意思是在PyQt应用程序上的
QLabel
小部件上获取
单元测试的结果吗?@iron首先启动我的应用程序,进行单元测试,并设置QLabel的文本,例如,测试通过或失败。p、 我试图将结果输出到文件中,然后读取它。但应用程序关闭了。(((您是否收到任何回溯错误消息?。如果是,请将其发布在此处。@IronFirst只是一个与单元测试类似的标准:…--------------------------------------------------------------------------------------在0.510s内运行了2个测试。)OK@ekhumoro…重复问题的链接在哪里?