簡體   English   中英

Visual Studio 2019 測試資源管理器中的 Jest 單元測試

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

在此處輸入圖像描述

安裝jestjest-editor-support依賴類型Development

在此處輸入圖像描述

完成此操作后,可以運行測試:

在此處輸入圖像描述

測試現在也將顯示在測試資源管理器中:

在此處輸入圖像描述

然后將UnitTest1.js重命名為UnitTest1.ts 您應該看到以下錯誤:

在此處輸入圖像描述

安裝@types/jest作為開發依賴,它應該可以工作:

在此處輸入圖像描述

我不必指定這一點,但如果出現問題,請檢查項目屬性並設置 JavaScript 單元測試值。

在此處輸入圖像描述

還要檢查測試文件的屬性,如果通過 GUI 添加這些值,默認情況下應該是正確的。

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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