Laravel中 FeatureTest和 UnitTest的區別是什麼

songxue77發表於2021-06-28

如題

剛接觸編寫測試程式碼,看教程寫了一些FeatureTest

琢磨著再寫一點UnitTest

發現FeatureTest裡面使用的很多功能UnitTest裡用不了

:tired_face::tired_face::tired_face:

最後才發現這倆繼承的類不同

FeatureTest類繼承了Tests\TestCase;
這個類初始化了Laravel容器,Test裡面可以藉助Laravel的函式寫程式碼

UnitTest類繼承了PHPUnit\Framework\TestCase;
這個類沒有初始化Laravel容器,很多Laravel的功能是用不了的
我的程式碼全部都是Controller->Service->Repository->Model的分層結構寫的
各個層裡的類都依賴了很多上一層或者下一層的類

沒有了依賴注入,我怎麼去測試Service類的某一個函式?
或者說我對於UnitTest的理解是錯的?
或者說我的編碼邏輯有問題呢?

想問問大家都是怎麼寫的:smirk:

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章