如何 运行 正确地对测试用例进行单元测试?

how to run unittest testcases properly?

我用这样的结构写了测试用例:

import unittest
....

url = TestObjects.host #url host

class AuthInitial(unittest.TestCase):
    def setUp(self):
        self.driver = TestObjects.driver #start browser

    def test_name(self):
        some test_logic in browser

    def tearDown(self):
        self.assertEqual()
        self.driver.close()


if __name__ == '__main__':
    unittest.main()

当我 运行 通过 nosetests 命令进行测试时,我遇到了一个错误 (winerror-10061)

如何正确开始测试? 每次都需要关闭和打开浏览器吗?

因此,setUp() 和 tearDown() 方法在(分别)每个不同的测试函数之前和之后被调用。在这种情况下,您有其中之一 (test_name)。如果您没有需要创建和销毁的东西来测试您的代码,很可能您也可以在测试函数中包含代码片段。

话虽这么说,让我们看看您的测试。现在 test_name 函数没有做任何事情,取而代之的是你在 tearDown 方法中有 self.assertEqual() 。您应该将 self.asserEqual() 移动到 test_name 函数中。在此之后,您需要为要测试的断言提供一些论据:

self.asserEqual(testobject.property, "Foo")

例如。您需要传递一些东西并将其与您的期望进行比较。在这种特殊情况下,我正在查看 testobject.property 是否与 Foo 相同。如果是这种情况,它将继续进行。如果不是,unittest 框架将打印出一份报告,说明它们不相同。

希望对您有所帮助。