在我的 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è)試特定的拆卸邏輯?
我如何在每個(gè) phpunit 測(cè)試特定的拆卸邏輯?
天涯盡頭無(wú)女友
2022-12-03 10:25:34