在接受記者採訪時,項目經理問我以下問題:有沒有辦法測試PHPUnit以外的Symfony應用程序?
我在你的簡歷看,你正在使用PHPUnit的4測試?爲什麼不用 您使用Symfony的內置測試?
我回答:
我所知道的是,Symfony的應用測試是通過PHPUnit的,這是從 2.3和2.7的文檔建議做。我不知道Symfony3 是否帶有測試組件!
我的回答正確嗎?感謝您的解釋。
在接受記者採訪時,項目經理問我以下問題:有沒有辦法測試PHPUnit以外的Symfony應用程序?
我在你的簡歷看,你正在使用PHPUnit的4測試?爲什麼不用 您使用Symfony的內置測試?
我回答:
我所知道的是,Symfony的應用測試是通過PHPUnit的,這是從 2.3和2.7的文檔建議做。我不知道Symfony3 是否帶有測試組件!
我的回答正確嗎?感謝您的解釋。
是的,你是對的。 Symfony有一個WebTestCase(擴展了KernelTestCase,你可以發現它擴展了PhpUnit)進行功能測試。此外,Symfony提供了一個PhpUnitBridge,它爲編寫Symfony應用程序的PHPUnit測試提供了有用的東西,例如使測試失敗,使用不推薦使用的組件。兩者都依賴於PHPUnit並在「vanilla」phpunit之上提供額外的功能。
有替代測試工具,如phpspec寫單元測試和Behat更高水平測試(功能和驗收測試),但兩者都沒有使用內部的Symfony,所以並不真的似乎要說的是什麼問關於。
給你的答案的補充信息: 根據我的經驗,WebTestCase
也作爲靜態方法在所有測試中引導內核。由於這個原因,單元測試不太好,因爲這個測試應該很快。他們設計了功能測試控制器和操作,但不需要啓動HTTP服務器。
然後爲:
總結,這就是爲什麼我不使用這個工具。
聽起來像PM一樣不知道他們在說什麼。根據我的經驗,這通常是我工作的一部分。 Symfony確實有一些零碎的東西可以建立在例如WebTestCase用於集成/功能測試,但它仍然通過PHPUnit iirc使用。 –
@JonStirling,我同意第二句話:D。感謝您的解釋,是的,我們擴展了WebTestCase,但最後要執行的命令是'phpunit ....' –