99re热视频这里只精品,久久久天堂国产精品女人,国产av一区二区三区,久久久精品成人免费看片,99久久精品免费看国产一区二区三区

Django4.0 測試工具-忽略測試

2022-03-17 11:42 更新

?unittest ?庫提供了 ?@skipIf? 和 ?@skipUnless? 裝飾器,允許你跳過測試,如果你事先知道這些測試在某些條件下會(huì)失敗。

例如,如果你的測試需要一個(gè)特定的可選庫才能成功,你可以用 ?@skipIf? 來裝飾測試用例。然后,測試運(yùn)行器將報(bào)告測試沒有被執(zhí)行以及原因,而不是測試失敗或完全省略測試。

為了補(bǔ)充這些測試跳過行為,Django 提供了兩個(gè)額外的跳過裝飾器。這些裝飾器不是測試一個(gè)通用的布爾值,而是檢查數(shù)據(jù)庫的能力,如果數(shù)據(jù)庫不支持一個(gè)特定的命名特性,則跳過測試。

裝飾器使用一個(gè)字符串標(biāo)識(shí)符來描述數(shù)據(jù)庫特征。這個(gè)字符串對應(yīng)于數(shù)據(jù)庫連接特征類的屬性。

skipIfDBFeature(*feature_name_strings)

如果支持某個(gè)命名的數(shù)據(jù)庫功能,則跳過裝飾測試或 ?TestCase?
例如,如果數(shù)據(jù)庫支持事務(wù),下面的測試將不會(huì)被執(zhí)行(例如,在PostgreSQL 下,它將 不 會(huì)運(yùn)行,但在 MySQL 的 MyISAM 表下卻可以):

class MyTests(TestCase):
    @skipIfDBFeature('supports_transactions')
    def test_transaction_behavior(self):
        # ... conditional test code
        pass

skipUnlessDBFeature(*feature_name_strings)

如果不支持某個(gè)命名的數(shù)據(jù)庫功能,則跳過裝飾測試或 ?TestCase?
例如,接下來的測試僅在支持事務(wù)的數(shù)據(jù)庫下執(zhí)行(如:可以是PostgreSQL,但不可以是使用MyISAM數(shù)據(jù)庫引擎的MySQL):

class MyTests(TestCase):
    @skipUnlessDBFeature('supports_transactions')
    def test_transaction_behavior(self):
        # ... conditional test code
        pass


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號