【Python + Selenium】之unittest測試用例滿足條件,進行跳過測試Skip


直接上代碼:

__author__ = 'zc'

import unittest



class demoSkipTest(unittest.TestCase):
    a = 70
    b = 50

    print(a%b)
    def test_add(self):
        """加法"""
        result = self.a + self.b
        self.assertEqual(result, 40)

    def test_add_2(self):
        self.skipTest("強制跳過示例")
        result = self.a + self.b
        self.assertEqual(result, 9)

    @unittest.skipIf(a > b, u"a>b,正確就強制跳過")
    def test_sub(self):
        """減法"""
        result = self.a - self.b
        self.assertTrue(result == -30)

    @unittest.skipUnless(a%b == 2, u"錯誤就跳過")
    def test_div(self):
        """除法"""
        result = self.a / self.b
        self.assertTrue(result == 1)

    @unittest.expectedFailure
    def test_mul01(self):
        """乘法"""
        result = self.a * self.b
        self.assertTrue(result == 350)

    @unittest.expectedFailure
    def test_mul02(self):
        """乘法"""
        result = self.a * self.b
        self.assertTrue(result == 3500)


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

 

運行結果:

Fssxus
======================================================================
FAIL: test_add (__main__.demoSkipTest)
加法
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/xxx/run_safe_test.py", line 24, in test_add
    self.assertEqual(result, 40)
AssertionError: 120 != 40

----------------------------------------------------------------------
Ran 6 tests in 0.000s

FAILED (failures=1, skipped=3, expected failures=1, unexpected successes=1)

說明:

最后兩個,先預想這個用例是錯誤的,但是最后一個結果是正確的,所以

expected failures=1       (預想就是錯的)

unexpected successes=1   (沒想到是正確的)

 

 

序號 方法 說明
1 unittest.skip(reason)  強制跳轉。reason是跳轉原因
2 unittest.skipIf(condition, reason)  條件跳轉,如果condition是True則跳轉
3 unittest.skipUnless(condition, reason) 除非conditioin為True,才進行調整
4 unittest.expectedFailure() 標記該測試預期為失敗 ,如果該測試方法運行失敗,則該測試不算做失敗

 

 

 

 

 

 

 

 。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM