python的unittest單元測試框架斷言整理彙總

自動化腳本最重要的是斷言,正確設置斷言以後才能幫助我們判斷測試用例執行結果。

在小同事的幫助下,整理了一份比較詳細的斷言方法。

一、先說說unittest常用的斷言吧

常用的就以下幾個,網上一搜一大堆。python版本2.7以上都可以調用了。

斷言語法解釋
assertEqual(a, b) 判斷a==b
assertNotEqual(a, b)判斷a!=b
assertTrue(x)bool(x) is True
assertFalse(x)bool(x) is False
assertIs(a, b)a is b
assertIsNot(a, b) a is not b
assertIsNone(x) x is None
assertIsNotNone(x)x is not None
assertIn(a, b) a in b
assertNotIn(a, b)a not in b
assertIsInstance(a, b)isinstance(a, b) 
assertNotIsInstance(a, b) not isinstance(a, b)

二、最近整理的一些

在官方文檔裏面看到的整理一下,有些還來不及翻譯。

assertAlmostEqual(first, second[, places, ...])

適用於小數,place是應最少幾位相等布爾值才爲1(默認爲7),如果在place位以內不同則斷言失敗。

assertDictContainsSubset(expected, actual[, msg])

檢查實際是否超預期

assertDictEqual(d1, d2[, msg])

前後字典是否相同

assertEqual(first, second[, msg])

前後兩個數不等的話,失敗

assertFalse(expr[, msg])

檢查表達式是否爲假

assertGreater(a, b[, msg])

self.assertTrue(a > b)用法一樣,但是多了設置條件 .

assertGreaterEqual(a, b[, msg])

self.assertTrue(a > =b)用法一樣,但是多了設置條件 .

assertIn(member, container[, msg])

self.assertTrue(a in b)

assertIs(expr1, expr2[, msg])

assertTrue(a is b)

assertIsInstance(obj, cls[, msg])

Isinstance(a,b)

assertIsNone(obj[, msg])

Obj is none.

assertIsNot(expr1, expr2[, msg])

a is not b.

assertIsNotNone(obj[, msg])

Obj is not none.

assertItemsEqual(expected_seq, actual_seq[, msg])

一個無序的序列特異性的比較。

assertLess(a, b[, msg])

Just like self.assertTrue(a < b), but with a nicer default message.

assertLessEqual(a, b[, msg])

Just like self.assertTrue(a <= b), but with a nicer default message.

assertListEqual(list1, list2[, msg])

List1list2是否相等.

assertMultiLineEqual(first, second[, msg])

斷言,2個多行字符串是相等的

assertNotAlmostEqual(first, second[, ...])

Fail if the two objects are equal as determined by their difference rounded to the given number of decimal places (default 7) and comparing to zero, or by comparing that the between the two objects is less than the given delta.

assertNotAlmostEquals(first, second[, ...])

Fail if the two objects are equal as determined by their difference rounded to the given number of decimal places (default 7) and comparing to zero, or by comparing that the between the two objects is less than the given delta.

assertNotEqual(first, second[, msg])

Fail if the two objects are equal as determined by the ‘==’

assertNotEquals(first, second[, msg])

Fail if the two objects are equal as determined by the ‘==’

assertNotIn(member, container[, msg])

Just like self.assertTrue(a not in b), but with a nicer default message.

assertNotIsInstance(obj, cls[, msg])

Included for symmetry with assertIsInstance.

assertNotRegexpMatches(text, unexpected_regexp)

如果文本匹配正則表達式,將失敗。

assertRaises(excClass[, callableObj])

除非excclass類拋出異常失敗

assertRaisesRegexp(expected_exception, ...)

認爲在引發異常的情況下消息匹配一個正則表達式。

assertRegexpMatches(text, expected_regexp[, msg])

測試失敗,除非文本匹配正則表達式。

assertSequenceEqual(seq1, seq2[, msg, seq_type])

有序序列的相等斷言 (like lists and tuples).

assertSetEqual(set1, set2[, msg])

A set-specific equality assertion.

assertTrue(expr[, msg])

Check that the expression is true.

assertTupleEqual(tuple1, tuple2[, msg])

A tuple-specific equality assertion.

assert_(expr[, msg])

Check that the expression is true.


三、在unittest包裏面看到的比較全的斷言


轉自: http://blog.csdn.net/qq1124794084/article/details/51668672

發佈了44 篇原創文章 · 獲贊 87 · 訪問量 45萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章