亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 VS Code 中調試 PHPUnit 測試?

在 VS Code 中調試 PHPUnit 測試?

PHP
胡說叔叔 2021-12-03 19:00:44
我最近配置了 VS 代碼來使用 xdebug 調試 PHP。它與我的應用程序代碼一起可靠地工作,但是當我使用 PHPunit 運行單元測試時,我的斷點被忽略。我的服務器在一個流浪箱內運行。我的php.ini文件包含以下幾行:[xdebug]zend_extension="/usr/lib/xdebug/xdebug-2.2.7/modules/xdebug.so" xdebug.remote_enable=1xdebug.remote_port=9000xdebug.remote_connect_back=1xdebug.remote_autostart=1我使用PHP Debug VS Code 擴展。這是我的launch.json配置:{    "name": "Listen for XDebug",    "type": "php",    "request": "launch",    "pathMappings": {        "/var/www/mysite.local/": "${workspaceFolder}"    },    "port": 9000,    "log": true}我的單元測試運行良好,例如,從內/var/www/mysite.local,我可以運行:phpunit --filter myTestMethod path/to/my/test/file/myTest.php但是當測試將運行時,我在測試本身中的斷點始終被忽略,我無法弄清楚原因。有沒有人有類似的問題?在正常應用程序請求和單元測試的上下文中調試的工作方式有區別嗎?
查看完整描述

2 回答

?
青春有我

TA貢獻1784條經驗 獲得超8個贊

就我而言,phpunit 正在調用 php cli,后者沒有使用我的測試服務器使用的 php.ini conf 文件,該文件已激活 xdebug。


確保使用正確的 php.ini 文件。您可以在使用-c參數調用 php 時指定它。


您可以通過編輯 phpunit 的啟動腳本將此參數傳遞給 php,該腳本可以在 vendor/bin/phpunit.bat(適用于 Windows)中找到。


該文件如下所示:


@ECHO OFF

setlocal DISABLEDELAYEDEXPANSION

SET BIN_TARGET=%~dp0/../phpunit/phpunit/phpunit

php "%BIN_TARGET%" %*

只需添加-c后面的 php 和 php.ini 目錄的路徑:


php -c PATH_TO_PHP.INI_DIRECTORY "%BIN_TARGET%" %*


查看完整回答
反對 回復 2021-12-03
?
蝴蝶刀刀

TA貢獻1801條經驗 獲得超8個贊

pathMappings當您使用絕對路徑運行單元測試時,您的問題是由于設置而發生的,我的建議是替換


   "pathMappings": {

        "/var/www/mysite.local/": "${workspaceFolder}"

    },


   "pathMappings": {

        "/var/www/mysite.local/": "${workspaceFolder}",

        "${workspaceFolder}": "${workspaceFolder}"

    },

或在運行單元測試時禁用它


查看完整回答
反對 回復 2021-12-03
  • 2 回答
  • 0 關注
  • 317 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號