[英]Jest unit tests in Visual Studio 2019 Test Explorer
我使用dotnet new react
創建了一個新的 ASP.NET Core React 應用程序。 然后我添加了一些 Jest 單元測試,當我在命令行上運行npm test
時,它們運行良好。
我希望能夠使用測試資源管理器 window 或 ReSharper 從 Visual Studio 2019 運行測試。
首先,ReSharper 似乎只支持 Jasmine 而不是 Jest( ReSharper 文檔, 功能請求)。
所以我嘗試使用測試資源管理器,遵循這個官方指南。 它支持 Jest。 但是,ASP.NET Core 的 React 模板不是 node.js 項目,因此測試框架和其他選項不可用。 因此,Test Explorer 找不到任何測試。
然后我嘗試使用命令vstest.console.exe MyProject.csproj /TestAdapterPath:"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\Extensions\Microsoft\NodeJsTools\TestAdapter"
. output給了我一些希望:
Microsoft (R) Test Execution Command Line Tool Version 16.5.0
Copyright (c) Microsoft Corporation. All rights reserved.
Starting test execution, please wait...
A total of 1 test files matched the specified pattern.
No test is available in MyProject.csproj. Make sure that test
discoverer & executors are registered and platform & framework version settings are appropriate and
try again.
測試運行器找到至少一個測試文件(實際上我有 2 個),但它不知道它應該使用 Jest 執行器。 我可以在 .csproj 文件中添加一些東西以使其工作嗎?
這就是我讓.njsproj
工作的方式。 我希望.csproj
也能正常工作。 首先使用 TypeScript 創建一個新的空白TypeScript
Blank Node.js Console Application
。 也使用JavaScript
進行了測試,並且可以正常工作。
創建一個名為 tests 的文件夾並添加一個JavaScript Jest UnitTest file
:
未能找到“笑話”package。 “jest”必須安裝在本地項目中。 Install "jest" locally using the npm manager via solution explorer or with ".npm install jest --save-dev" via the Node.js interactive window. 找不到“jest-editor-support”package。 “jest-editor-support”必須安裝在本地項目中。 Install "jest-editor-support" locally using the npm manager via solution explorer or with ".npm install jest-editor-support --save-dev" via the Node.js interactive window.
然后從 VS 2019 的開發人員命令提示符運行以下命令:
vstest.console.exe "C:\Users\Oscar\source\repos\NodejsConsoleApp1\NodejsConsoleApp1\NodejsConsoleApp1.njsproj" "/TestAdapterPath:C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\Extensions\Microsoft\NodeJsTools\TestAdapter"
安裝jest
和jest-editor-support
依賴類型Development
。
完成此操作后,可以運行測試:
測試現在也將顯示在測試資源管理器中:
然后將UnitTest1.js
重命名為UnitTest1.ts
。 您應該看到以下錯誤:
安裝@types/jest
作為開發依賴,它應該可以工作:
我不必指定這一點,但如果出現問題,請檢查項目屬性並設置 JavaScript 單元測試值。
還要檢查測試文件的屬性,如果通過 GUI 添加這些值,默認情況下應該是正確的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.