99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

Django4.0 測(cè)試工具-忽略測(cè)試

2022-03-17 11:42 更新

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

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

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

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

skipIfDBFeature(*feature_name_strings)

如果支持某個(gè)命名的數(shù)據(jù)庫(kù)功能,則跳過(guò)裝飾測(cè)試或 ?TestCase?
例如,如果數(shù)據(jù)庫(kù)支持事務(wù),下面的測(cè)試將不會(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ù)庫(kù)功能,則跳過(guò)裝飾測(cè)試或 ?TestCase?
例如,接下來(lái)的測(cè)試僅在支持事務(wù)的數(shù)據(jù)庫(kù)下執(zhí)行(如:可以是PostgreSQL,但不可以是使用MyISAM數(shù)據(jù)庫(kù)引擎的MySQL):

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


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)