NavisworksTransport/run-unit-tests.bat
tian 488e69d27a fix: 脚本统一用 pwsh 替代 powershell,MSTest adapter 动态查找
- start-navisworks.bat / run-ground-virtual-collision-test.bat:
  powershell → pwsh(避免依赖 shim/PS5.1,UTF-8 中文输出更可靠)
- deploy-plugin.bat 提权兜底:PowerShell → pwsh(内外一致)
- run-unit-tests.bat:MSTest adapter 路径硬编码 3.0.4 → 通配符动态查找
  (包升级后不再失效)
2026-08-02 20:41:18 +08:00

58 lines
2.0 KiB
Batchfile
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@echo off
setlocal
echo Building NavisworksTransport.UnitTests...
set MSBUILD_PATH="C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe"
if not exist %MSBUILD_PATH% (
set MSBUILD_PATH="C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\Bin\MSBuild.exe"
)
if not exist %MSBUILD_PATH% (
echo MSBuild not found. Please install Visual Studio 2022 or Build Tools.
exit /b 1
)
set VSTEST_PATH="C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Extensions\TestPlatform\vstest.console.exe"
if not exist %VSTEST_PATH% (
set VSTEST_PATH="C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\Extensions\TestPlatform\vstest.console.exe"
)
if not exist %VSTEST_PATH% (
echo vstest.console.exe not found. Please install Visual Studio 2022 test tools.
exit /b 1
)
REM 动态查找 MSTest adapter避免包版本升级后硬编码路径失效
for /d %%d in ("packages\MSTest.TestAdapter.*") do set TEST_ADAPTER_BASE=%%~fd
if not defined TEST_ADAPTER_BASE (
echo MSTest adapter package not found under packages\MSTest.TestAdapter.*
exit /b 1
)
set "TEST_ADAPTER_PATH=%TEST_ADAPTER_BASE%\build\net462"
if not exist "%TEST_ADAPTER_PATH%" (
echo MSTest adapter net462 dir not found: %TEST_ADAPTER_PATH%
exit /b 1
)
echo Using MSTest adapter: %TEST_ADAPTER_PATH%
set NAVISWORKS_PATH=C:\Program Files\Autodesk\Navisworks Manage 2026
if not exist "%NAVISWORKS_PATH%\Autodesk.Navisworks.Api.dll" (
echo Navisworks API path not found: %NAVISWORKS_PATH%
exit /b 1
)
set PATH=%NAVISWORKS_PATH%;%PATH%
%MSBUILD_PATH% "NavisworksTransport.UnitTests.csproj" /p:Configuration=Release /p:Platform=x64 /verbosity:minimal
if errorlevel 1 (
echo Unit test build failed!
exit /b 1
)
%VSTEST_PATH% "bin\x64\Release\NavisworksTransport.UnitTests.dll" /Platform:x64 /TestAdapterPath:%TEST_ADAPTER_PATH% /TestCaseFilter:"TestCategory!=NavisworksIntegration"
if errorlevel 1 (
echo Unit tests failed!
exit /b 1
)
echo Unit tests passed!