Reactjs Visual Studio 2019测试资源管理器中的Jest单元测试

Reactjs Visual Studio 2019测试资源管理器中的Jest单元测试,reactjs,visual-studio,unit-testing,asp.net-core,jestjs,Reactjs,Visual Studio,Unit Testing,Asp.net Core,Jestjs,我使用dotnetnewreact创建了一个新的ASP.NET Core React应用程序。然后我添加了一些Jest单元测试,当我在命令行上运行npm test时,这些测试运行得很好 我希望能够使用TestExplorer窗口或ReSharper从VisualStudio2019运行测试 首先,似乎ReSharper只支持Jasmine而不支持Jest(,) 因此,我尝试使用测试资源管理器,如下所示。它支持玩笑。但是,ASP.NET Core的React模板不是node.js项目,因此测试框架

我使用
dotnetnewreact
创建了一个新的ASP.NET Core React应用程序。然后我添加了一些Jest单元测试,当我在命令行上运行
npm test
时,这些测试运行得很好

我希望能够使用TestExplorer窗口或ReSharper从VisualStudio2019运行测试

首先,似乎ReSharper只支持Jasmine而不支持Jest(,)

因此,我尝试使用测试资源管理器,如下所示。它支持玩笑。但是,ASP.NET Core的React模板不是node.js项目,因此测试框架等选项不可用。因此,测试资源管理器找不到任何测试

然后我尝试使用命令
vstest.console.exe MyProject.csproj/TestAdapterPath运行测试:“C:\Program Files(x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\Extensions\Microsoft\NodeJSools\TestAdapter”
。结果给了我一些希望:

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 executor。我可以在.csproj文件中添加一些东西使其工作吗?

这就是我使
.njsproj
工作的原因。我希望
.csproj
也能正常工作。首先,使用
TypeScript
创建一个新的
Blank Node.js控制台应用程序。使用
JavaScript
进行测试,效果良好

创建一个名为tests的文件夹,并添加一个
JavaScript Jest UnitTest文件

找不到“jest”包。“jest”必须安装在项目中 在当地。通过解决方案使用npm管理器在本地安装“jest” explorer或通过Node.js使用“.npm install jest--save dev” 交互式窗口。找不到“jest编辑器支持”包。 “jest编辑器支持”必须本地安装在项目中。 通过使用npm管理器在本地安装“jest编辑器支持” 解决方案资源管理器或支持“.npm安装jest编辑器” --通过Node.js交互窗口保存“dev”

然后从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编辑器支持

执行此操作后,可以运行测试:

测试现在也将显示在测试资源管理器中:

然后将
UnitTest1.js
重命名为
UnitTest1.ts
。您应该看到以下错误:

安装
@types/jest
作为开发人员依赖项,它应该可以工作:

我不必指定这一点,但如果出现故障,则检查项目属性并设置JavaScript单元测试值

同时检查测试文件的属性,如果通过GUI添加,默认情况下这些值应该是正确的


你有没有找到解决办法?没有,我什么都没有。我现在只使用命令行。遗憾的是,这不适用于csproj,因为它假定Javascript的根目录是项目的根目录,即使我更改测试适配器的源代码以查看正确的位置,我也会遇到一大堆失败的情况。