在测试PyQt

时间:2016-02-01 19:48:08

标签: python unit-testing python-3.x pyqt4

我有一个GUI,在任何情况下都运行良好。没有错误,没有关键信息 我想测试一些元素,所以我写了代码:

导入unittest 导入日志记录 导入系统 来自PyQt4.QtTest导入QTest 来自PyQt4导入QtGui,QtCore 来自gui import MainWindow

class TestMainWindow(unittest.TestCase):

    def setUp(self):
        self.app = QtGui.QApplication([])
        # this is for disabling messages from logger
        logging.disable(logging.CRITICAL)

    def test_only_first_checked(self):
        self.ui = MainWindow()
        self.assertEqual(self.ui.first_radio.isChecked(), True)
        self.assertEqual(self.ui.second_radio.isChecked(), False)
        self.assertEqual(self.ui.third_radio.isChecked(), False)

    def test_bottom_radios_disabled(self):
        self.ui = MainWindow()
        self.assertEqual(self.ui.left_radio.isEnabled(), False)
        self.assertEqual(self.ui.right_radio.isEnabled(), False)

输出是 - 很多行如:

  

(python3:12405):Gtk-CRITICAL **:IA__gtk_container_add:断言   'GTK_IS_CONTAINER(容器)'失败

     

(python3:12405):Gtk-CRITICAL **:IA__gtk_widget_realize:断言   'GTK_WIDGET_ANCHORED(小部件)|| GTK_IS_INVISIBLE(小部件)'失败

     

(python3:12405):Gtk-CRITICAL **:IA__gtk_widget_realize:断言   'GTK_WIDGET_ANCHORED(小部件)|| GTK_IS_INVISIBLE(小部件)'失败

然后

----------------------------------------------------------------------
Ran 2 tests in 0.546s
OK

我在运行GUI时从未收到任何此错误消息,所以我想知道是否可以禁用/隐藏它们。

1 个答案:

答案 0 :(得分:0)

添加到 TestMainWindow

def tearDown(self):
    self.app.deleteLater()

现在它没有显示任何关键信息。