Laravel 5按照什麼順序在單個類中調用測試用例?Laravel 5單元測試調用方法訂單
它們是從上到下調用的嗎?按字母順序?我可以指定訂單嗎?
含義,我想測試API調用從開始: POST(創建訂單), GET(讀取新創建的順序), DELETE(刪除順序)。這將是很好的,如果我可以做到這一點作爲3個獨立的自動測試,但我不知道,如果他們將始終執行INT特定的順序。
Laravel 5按照什麼順序在單個類中調用測試用例?Laravel 5單元測試調用方法訂單
它們是從上到下調用的嗎?按字母順序?我可以指定訂單嗎?
含義,我想測試API調用從開始: POST(創建訂單), GET(讀取新創建的順序), DELETE(刪除順序)。這將是很好的,如果我可以做到這一點作爲3個獨立的自動測試,但我不知道,如果他們將始終執行INT特定的順序。
你不應該中繼測試的順序,而不是做這樣的事情:
數據不應該在測試之間持續存在,請使用Illuminate\Foundation\Testing\DatabaseTransactions
或Illuminate\Foundation\Testing\DatabaseMigrations
。
查看更多信息:https://laravel.com/docs/5.2/testing#resetting-the-database-after-each-test
我已經做了這樣的事情:'公共功能testOrder(){$ clientOrderId = $ this-> order(); $ this-> assertInternalType('string',$ clientOrderId); $這 - > assertNotEmpty($ clientOrderId); $這 - > OrderStatus($ clientOrderId); $這 - > DeleteOrder($ clientOrderId); ''但我希望能夠獨立運行它們,而無需進行新的測試。 – Peon
您可以使用@depends
註解來確保一個測試陸續運行,但@scrubmx指出的那樣,你的測試不應該執行的順序接力。否則,如果createOrder
測試失敗,測試的其餘部分將不會執行。如果數據是由另一個測試用例隱式創建的,而不是明確地在對其進行操作的數據庫中創建的,那麼維護不斷增長的測試套件就更困難了,因爲您將要測試的數據的變體越來越多。
看看這個https://phpunit.de/manual/current/en/writing-tests-for-phpunit.html#writing-tests-for-phpunit.test-dependencies,它並不完全管理測試的順序,但它允許你的測試返回數據在另一個測試中使用 – Dale