第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

我如何在每個(gè) phpunit 測(cè)試特定的拆卸邏輯?

我如何在每個(gè) phpunit 測(cè)試特定的拆卸邏輯?

PHP
天涯盡頭無(wú)女友 2022-12-03 10:25:34
在我的 phpunit 測(cè)試中,我需要為每個(gè)測(cè)試分別運(yùn)行清理功能,例如:use PHPUnit\Framework\TestCase;use MyApp\Database\DatabaseEntryDataGenerator;use MyApp\Database\Record\User;use MyApp\Database\Record\Emails;class MyEmailTest extends TestCase{   public function testEmailValid()   {     /**      * @var EmailEntries      */     $emails=DatabaseEntryDataGenerator::table(EmailEntries::TABLE)->generate();     //Do test    $emails->delete();   }   public function testEmailValidOnUser()   {     /**      * @var User      */     $user=DatabaseEntryDataGenerator::table(User::TABLE)->generateSingle(1);     /**      * @var EmailEntries      */     $emails=DatabaseEntryDataGenerator::table(EmailEntries::TABLE)->generateMultiple();     //Do test    $emails->delete();    $user->delete();   }}假設(shè)虛構(gòu)DatabaseEntryDataGenerator在數(shù)據(jù)庫(kù)上生成數(shù)據(jù),虛構(gòu)EmailEntries代表User記錄數(shù)據(jù)。和delete上的方法。EmailEntriesUser但是,如果在測(cè)試開(kāi)發(fā)過(guò)程中出現(xiàn)一些 brak mucase 刪除,即清理代碼可能會(huì)被刪除。此外,通用tearDown是通用的方式,不允許指定特定方法來(lái)測(cè)試所需的拆卸邏輯。例如,在我的例子中,testEmailValidid Different on 上的拆卸邏輯testEmailValidOnUser,如果由于打字錯(cuò)誤而損壞,可能最終無(wú)法運(yùn)行它,因此不會(huì)給我測(cè)試隔離。那么,無(wú)論測(cè)試成功與否,我如何才能擁有將執(zhí)行的每個(gè)測(cè)試特定的拆卸邏輯?
查看完整描述

2 回答

?
料青山看我應(yīng)如是

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超8個(gè)贊

唯一的方法是使用單獨(dú)的類(lèi)。如果每個(gè)測(cè)試都需要不同的拆卸邏輯,那么您要么遇到架構(gòu)問(wèn)題,要么正在測(cè)試不同的功能,要么就是沒(méi)有足夠好的拆卸策略。

通常,在拆卸邏輯期間,簡(jiǎn)單的截?cái)噙壿嬀妥銐蛄恕?/p>


查看完整回答
反對(duì) 回復(fù) 2022-12-03
?
桃花長(zhǎng)相依

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超8個(gè)贊

我建議在這里使用數(shù)據(jù)庫(kù)事務(wù)。你真的想在兩個(gè)測(cè)試中做同樣的事情:回滾對(duì)數(shù)據(jù)庫(kù)所做的任何更改。


public function setUp(): void

{

    MyDatabaseClass:startTransaction();

}


public function tearDown(): void

{

    MyDatabaseClass:rollback();

}

這樣您就不需要為每個(gè)測(cè)試都設(shè)置特殊的邏輯,而且如果您影響的表比預(yù)期的多,您仍然是安全的。


查看完整回答
反對(duì) 回復(fù) 2022-12-03
  • 2 回答
  • 0 關(guān)注
  • 112 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)