簡介
從 Visual Studio 2022 開始您可執行遠端測試,你可以透過 Docker 、 WSL(Windows Subsystem for Linux)、或 ssh 方式連線並進行測試,只需要在專案內加入 testenvironments.json 檔案,即可連線到 Linux 並執行測試。
前置作業 - Docker
步驟 1. 安裝 Docker Desktop for Windows,安裝過程就不贅述,可以自行 Google 搜尋相關內容。
步驟 2. 在任意地方建立 Dockerfile,加入下列內容(可以依據需求更改 sdk 版本),我們預先安裝遠端除錯工具,才能執行遠端測試
FROM mcr.microsoft.com/dotnet/core/sdk:3.1
RUN wget https://aka.ms/getvsdbgsh && \
sh getvsdbgsh -v latest -l /vsdbg
步驟 3. 開啟命令提示字元或 powershell,輸入下列指令建立名稱為 testenv 的 image。記下這個名稱,之後建立設定檔案時會用到。
docker build -t testenv -f Dockerfile .
前置作業 - WSL (Windows 10)
適用版本: Windows 10 2004 版或更高版本 (組建19041和更新版本) 或 Windows 11。
步驟 1. 以管理員身分執行 Powershell,並輸入 wsl -l -o
指令檢視 linux 版本
步驟 2. 輸入 wsl --install -d Ubuntu-20.04
安裝 20.04 LTS (請依據實際需求安裝),完成後即會自動開啟 WSL 畫面。記下你的版本名稱,之後建立設定檔案時會用到。
步驟 3. 於 WSL 畫面輸入下列指令,將 Microsoft 套件簽署金鑰新增至您的受信賴起點清單,並新增套件存放庫。
wget https://packages.microsoft.com/config/ubuntu/21.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
步驟 4. 輸入下列指令安裝 aspnetcore-runtime-3.1 (或 6.0)
您也可以安裝 SDK 如:aspnetcore-sdk-3.1
sudo apt-get update; \
sudo apt-get install -y apt-transport-https && \
sudo apt-get update && \
sudo apt-get install -y dotnet-runtime-3.1
遠端測試設定
步驟 1. 在方案資料夾下新增 testenvironments.json 檔案,加入下列內容
{
"version": "1",
"environments": [
{
"name": "linux dotnet-core-sdk-3.1",
"type": "docker",
"dockerImage": "mcr.microsoft.com/dotnet/core/sdk"
},
{
"name": "WSL-Ubuntu",
"type": "wsl",
"wslDistribution": "Ubuntu-20.04"
},
{
"name": "ssh-remote",
"type": "ssh",
"remoteUri": "ssh://user@hostname:22"
}
]
}
步驟 2. 右鍵點選方案 > 加入 > 新增方案資料夾 > 名稱輸入 Solution Items
步驟 3. 右鍵點選方案資料夾 > 加入現有項目
步驟 4. 選擇第一步驟建立的 testenvironments.json
步驟 5. 點選檢視 > 測試總管 (Test Explorer),你會發現右邊出現下拉選單,你可以選擇測試環境進行單元測試