簡體   English   中英

使用 phpunit 進行 Laravel 測試

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM