python_常用斷言assert


python自動化測試中尋找元素并進行操作雨效,如果在元素好找的情況下微宝,相信大家都可以較熟練地編寫用例腳本了珠叔,但光進行操作可能還不夠蝎宇,有時候也需要對預(yù)期結(jié)果進行判斷。

  • 常用

  • 這里介紹幾個常用斷言的使用方法运杭,可以一定程度上幫助大家對預(yù)期結(jié)果進行判斷夫啊。-

  • assertEqual

  • assertNotEqual

  • assertTrue

  • assertFalse

  • assertIsNone

  • assertIsNotNone

  • assertEqual 和 assertNotEqual

  • assertEqual:如兩個值相等函卒,則pass

  • assertNotEqual:如兩個值不相等辆憔,則pass

  • 使用方法:
    assertEqual(first,second,msg)其中firstsecond進行比較,如果相等則通過报嵌;msg為失敗時打印的信息虱咧,選填;斷言assertNotEqual反著用就可以了锚国。

  • assertTrue和assertFalse

  • assertTrue:判斷bool值為True腕巡,則pass

  • assertFalse:判斷bool值為False,則Pass

  • 使用方法:
    assertTrue(expr,msg)其中express輸入相應(yīng)表達式血筑,如果表達式為真绘沉,則pass煎楣;msg選填;斷言assertFalse如果表達式為假车伞,則pass

  • assertIsNone和assertIsNotNone

  • assertIsNone:不存在择懂,則pass

  • assertIsNotNone:存在,則pass

  • 使用方法:
    assertIsNone(obj,msg)檢查某個元素是否存在

  • 總結(jié):

  • 常用

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     2.7
assertIsNot(a, b)     a is not b     2.7
assertIsNone(x)     x is None     2.7
assertIsNotNone(x)     x is not None     2.7
assertIn(a, b)     a in b     2.7
assertNotIn(a, b)     a not in b     2.7
assertIsInstance(a, b)     isinstance(a, b)     2.7
assertNotIsInstance(a, b)     not isinstance(a, b)     2.7
  • 其它
assertAlmostEqual(a, b)     round(a-b, 7) == 0      
assertNotAlmostEqual(a, b)     round(a-b, 7) != 0      
assertGreater(a, b)     a > b     2.7
assertGreaterEqual(a, b)     a >= b     2.7
assertLess(a, b)     a < b     2.7
assertLessEqual(a, b)     a <= b     2.7
assertRegexpMatches(s, re)     regex.search(s)     2.7
assertNotRegexpMatches(s, re)     not regex.search(s)     2.7
assertItemsEqual(a, b)     sorted(a) == sorted(b) and works with unhashable objs     2.7
assertDictContainsSubset(a, b)     all the key/value pairs in a exist in b     2.7
assertMultiLineEqual(a, b)     strings     2.7
assertSequenceEqual(a, b)     sequences     2.7
assertListEqual(a, b)     lists     2.7
assertTupleEqual(a, b)     tuples     2.7
assertSetEqual(a, b)     sets or frozensets     2.7
assertDictEqual(a, b)     dicts     2.7
assertMultiLineEqual(a, b)     strings     2.7
assertSequenceEqual(a, b)     sequences     2.7
assertListEqual(a, b)     lists     2.7
assertTupleEqual(a, b)     tuples     2.7
assertSetEqual(a, b)     sets or frozensets     2.7assertDictEqual(a, b)     dicts     2.7
  • 使用時機:

那么我們什么時候應(yīng)該使用斷言呢另玖?如果沒有特別的目的困曙,斷言應(yīng)該用于如下情況:

  • 防御性的編程
  • 運行時對程序邏輯的檢測
  • 合約性檢查(比如前置條件,后置條件)
  • 程序中的常量
  • 檢查文檔
  • 例:防御性編程中添加斷言
    在代碼開始添加注釋是個好的開端谦去,但是人們都不太喜歡讀和更新這些注釋慷丽,這些注釋會很快變得過時。但對于斷言鳄哭,我們可以同時對這塊代碼編寫文檔要糊,如果這些斷言被違反了,會直接引起一個簡單而又直接的失敗窃诉。
assert target in(x, y, z)
if  target ==x:  
    run_x_code()
elif  target ==y:
    run_y_code()
else:
    assert target == z
    run_z_code()
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末杨耙,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子飘痛,更是在濱河造成了極大的恐慌珊膜,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宣脉,死亡現(xiàn)場離奇詭異车柠,居然都是意外死亡,警方通過查閱死者的電腦和手機塑猖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進店門竹祷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人羊苟,你說我怎么就攤上這事塑陵。” “怎么了蜡励?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵令花,是天一觀的道長。 經(jīng)常有香客問我凉倚,道長兼都,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任稽寒,我火速辦了婚禮扮碧,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己慎王,他們只是感情好蚓土,可當(dāng)我...
    茶點故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著赖淤,像睡著了一般北戏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上漫蛔,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天嗜愈,我揣著相機與錄音,去河邊找鬼莽龟。 笑死蠕嫁,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的毯盈。 我是一名探鬼主播剃毒,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼搂赋!你這毒婦竟也來了赘阀?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤脑奠,失蹤者是張志新(化名)和其女友劉穎基公,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體宋欺,經(jīng)...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡轰豆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了齿诞。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片酸休。...
    茶點故事閱讀 39,688評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖祷杈,靈堂內(nèi)的尸體忽然破棺而出斑司,到底是詐尸還是另有隱情,我是刑警寧澤但汞,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布宿刮,位于F島的核電站,受9級特大地震影響特占,放射性物質(zhì)發(fā)生泄漏糙置。R本人自食惡果不足惜云茸,卻給世界環(huán)境...
    茶點故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一是目、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧标捺,春花似錦懊纳、人聲如沸揉抵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽冤今。三九已至,卻和暖如春茂缚,著一層夾襖步出監(jiān)牢的瞬間戏罢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工脚囊, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留龟糕,地道東北人。 一個月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓悔耘,卻偏偏與公主長得像讲岁,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子衬以,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,573評論 2 353

推薦閱讀更多精彩內(nèi)容

  • PLEASE READ THE FOLLOWING APPLE DEVELOPER PROGRAM LICENSE...
    念念不忘的閱讀 13,470評論 5 6
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理缓艳,服務(wù)發(fā)現(xiàn),斷路器看峻,智...
    卡卡羅2017閱讀 134,651評論 18 139
  • python自動化測試中尋找元素并進行操作阶淘,如果在元素好找的情況下,相信大家都可以較熟練地編寫用例腳本了互妓,但光進行...
    燕京博士閱讀 475評論 0 3
  • 初中畢業(yè)以后舶治,我上了公司技校。大概父母覺得以我的成績讀高中很難考上大學(xué)车猬,所以讀技校畢業(yè)到公司工作更實際霉猛。說來也幸運...
    風(fēng)原山鷹閱讀 346評論 0 1
  • 關(guān)于金錢 信用卡欠款 4070元 伏嗜,每月工資4000元坛悉,信用卡消費一般用于淘寶,吃飯承绸,買衣服裸影。這個月發(fā)工資一定要還...
    溫白開_閱讀 580評論 0 0