『心善淵』Selenium3.0基礎(chǔ) — 38.單元測試框架unittest(三)

(三)斷言方法

1、斷言介紹

在執(zhí)行測試用例的過程中欠啤,最終用例是否執(zhí)行通過滋戳,是通過判斷測試得到的實際結(jié)果和預(yù)期結(jié)果是否相等決定的跪另,這時會用到斷言方法。

本著沒有消息就是最好的消息的原則,如果斷言成功不采取任何措施(不輸入任何日志)识埋,否則就會觸發(fā)AssertionError(斷言錯誤)的異常凡伊。

2、常用的斷言方法

斷言方法名稱 使用參數(shù) 驗證
assertEqual()(常用) a,b,[msg='測試失敗時打印的信息'] 斷言a和b是否相等窒舟,相等則測試用例通過
assertNotEqual() a,b,[msg='測試失敗時打印的信息'] 斷言a和b是否相等系忙,不相等則測試用例通過。
assertTrue()(常用) x,[msg='測試失敗時打印的信息'] 斷言x是否True惠豺,是True則測試用例通過
assertFalse() x,[msg='測試失敗時打印的信息'] 斷言x是否false银还,是false則測試用例通過
assertIs() a,b,[msg='測試失敗時打印的信息'] 斷言a是否是b,是則測試用例通過
assertNotIs() a,b,[msg='測試失敗時打印的信息'] 斷言a是否是b洁墙,不是則測試用例通過
assertIsNone() x,[msg='測試失敗時打印的信息'] 斷言x是否None蛹疯,是None則測試用例通過
assertIsNotNone() x,[msg='測試失敗時打印的信息'] 斷言x是否None,不是None則測試用例通過热监。
assertIn() a,b,[msg='測試失敗時打印的信息'] 斷言a是否在b中捺弦,在b中則測試用例通過
assertNotIn() a,b,[msg='測試失敗時打印的信息'] 斷言a是否在b中,不在b中則測試用例通過
assertIsInstance() a,b,[msg='測試失敗時打印的信息'] 斷言a是否是b的一個實例孝扛,是則測試用例通過列吼。
assertNotIsInstance() a,b,[msg='測試失敗時打印的信息'] 斷言a是否是b的一個實例,不是則測試用例通過苦始。

提示:如果a和b斷言失敗寞钥,則輸出msg中定義的信息,如果沒有定義msg盈简,則輸出系統(tǒng)異常凑耻。

3、斷言示例

"""
1.學(xué)習(xí)目標(biāo)
    必須掌握unittest中斷言使用
2.語法
    2.1 編寫位置
            在測試用例中去編寫柠贤,先執(zhí)行測試用例,最后一行斷言类缤。
    2.2 使用的斷言方法
        注意:前邊a是預(yù)期臼勉,后邊b是測試實際的值
        (1)assertEqual(a,b,msg)
            斷言a和b是否相等,如果相等,斷言成功,否則斷言失敗
        (2)assertTrue(x,msg)
            斷言條件x是否為True,如果是,斷言成功,否則斷言失敗
        (3)其他斷言用法類似。
    2.3 判定斷言結(jié)果
        斷言成功,控制臺沒有任何提示
        斷言失敗,控制臺AssertionError關(guān)鍵字會出現(xiàn)
3.需求
    編寫一個有斷言的測試類
"""
# 1 導(dǎo)入unittest
import unittest


# 2 創(chuàng)建測試類
class Test_demo(unittest.TestCase):

    # 3 編寫test case
    def test_case_03(self):
        """測試用例3"""
        print("執(zhí)行測試用例3")
        # 用例步驟執(zhí)行完成后做斷言
        # assertEqual斷言a和b是否相等
        self.assertEqual(2, 1 + 1, msg="斷言成功")

    """
    執(zhí)行結(jié)果:
        斷言成功,控制臺沒有任何提示
    
    下面是總測試結(jié)果的日志:
        執(zhí)行測試用例3
        # 在0.005秒內(nèi)進(jìn)行1次測試
        Ran 1 test in 0.005s
        
        # 測試用例全部通過
        OK
    """

    def test_case_02(self):
        """測試用例2"""
        print("執(zhí)行測試用例2")
        # assertEqual斷言a和b是否相等
        self.assertEqual(3, 1 + 1, msg="斷言失敗")

        """
        執(zhí)行結(jié)果:
        
            執(zhí)行測試用例2

            斷言失敗
            3 != 2

            Expected(預(yù)期) :2
            Actual(實際)   :3
            
            下面會有報錯信息(主要內(nèi)容):
                AssertionError: 2 != 3 : 斷言失敗
                
                # 在0.008秒內(nèi)進(jìn)行1次測試
                Ran 1 test in 0.008s
                
                # 失敗一個測試用例
                FAILED (failures=1)
                
                # 斷言失敗
                Assertion failed
        """

    def test_case_01(self):
        """測試用例1"""
        print("執(zhí)行測試用例1")
        # 斷言條件x是否為True
        self.assertTrue(1 > 2, msg="條件不成立,斷言失敗")


# 4 編寫普通方法
if __name__ == '__main__':
    # 執(zhí)行當(dāng)前測試類中餐弱,以test開頭的測試用例
    unittest.main()

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末宴霸,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子膏蚓,更是在濱河造成了極大的恐慌瓢谢,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件驮瞧,死亡現(xiàn)場離奇詭異氓扛,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進(jìn)店門采郎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來千所,“玉大人,你說我怎么就攤上這事蒜埋∫担” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵整份,是天一觀的道長待错。 經(jīng)常有香客問我,道長烈评,這世上最難降的妖魔是什么朗鸠? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮础倍,結(jié)果婚禮上烛占,老公的妹妹穿的比我還像新娘。我一直安慰自己沟启,他們只是感情好忆家,可當(dāng)我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著德迹,像睡著了一般芽卿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上胳搞,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天卸例,我揣著相機(jī)與錄音,去河邊找鬼肌毅。 笑死筷转,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的悬而。 我是一名探鬼主播呜舒,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼笨奠!你這毒婦竟也來了袭蝗?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤般婆,失蹤者是張志新(化名)和其女友劉穎到腥,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蔚袍,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡乡范,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片篓足。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡段誊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出栈拖,到底是詐尸還是另有隱情连舍,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布涩哟,位于F島的核電站索赏,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏贴彼。R本人自食惡果不足惜潜腻,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望器仗。 院中可真熱鬧融涣,春花似錦、人聲如沸精钮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽轨香。三九已至忽你,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間臂容,已是汗流浹背科雳。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留脓杉,地道東北人糟秘。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像丽已,于是被迫代替她去往敵國和親蚌堵。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,877評論 2 345