[英]Laravel testing with phpunit
如何確保當我使用 phpunit 在 Laravel 中進行測試時,例如我想測試我的 api 路由/test/1
它使用我的測試數據庫?
我已經建立了一個測試連接並更改了我的 phpunit.xml 文件。 我將DB_CONNECTION
更改為我DB_CONNECTION
的測試連接。
<env name="DB_CONNECTION" value="mysql_testing"/>
但是當我發出 post 請求時,我會從開發數據庫接收數據嗎?
在您的Config/database.php
文件中, mysql_testing
中 database 的值是mysql_testing
? 應該是這樣的:
'mysql_testing' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('TEST_DB_DATABASE', 'db_testing'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
'engine' => null,
],
並且數據庫db_testing
必須存在。
在您的測試文件之一中,添加以下內容以輸出您當前的DB_CONNECTION
:
dd(env('DB_CONNECTION'));
如果 PHPUnit.xml 設置正確,您應該在測試輸出中獲得mysql_testing
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.