jest.config.ts
对我来说,这是因为当测试资源管理器运行开玩笑测试时,即使在根目录的同一目录中,它也无法找到配置。所以解决方案是将开玩笑的配置移动到我的package.json
.
这是我最初的 package.json:
{
"name": "stackoverflow.tests.typescript",
"scripts": {
"test": "jest"
},
"devDependencies": {
"@types/jest": "^27.0.3",
"@types/jquery": "^3.5.9",
"jest": "^27.4.3",
"jest-editor-support": "^30.0.2",
"ts-jest": "^27.0.7",
"ts-node": "^10.4.0",
"typescript": "^4.5.2"
}
}
因此,当我cd
进入我的项目目录并运行时npm run test
,npm test
它运行良好。但是在 Visual Studio 测试资源管理器中运行测试总是在 1 毫秒内失败。
当我像这样将我的 jest 配置移动到 package.json 时,测试资源管理器能够成功运行我的测试,我认为这是因为它可以找到我的 jest 配置:
{
"name": "stackoverflow.tests.typescript",
"scripts": {
"test": "jest --config jest.config.ts"
},
"devDependencies": {
"@types/jest": "^27.0.3",
"@types/jquery": "^3.5.9",
"jest": "^27.4.3",
"jest-editor-support": "^30.0.2",
"ts-jest": "^27.0.7",
"ts-node": "^10.4.0",
"typescript": "^4.5.2"
},
"jest": {
"preset": "ts-jest",
"testEnvironment": "jsdom",
"testPathIgnorePatterns": [
"/node_modules/"
],
"globals": {
"ts-jest": {
"tsconfig": "./tsconfig.json"
}
}
}
}
我试图通过修改我的.esproj
类似来修改测试资源管理器在运行测试时使用的命令,但这不起作用:
<Project Sdk="Microsoft.VisualStudio.JavaScript.Sdk/0.4.0-alpha">
<PropertyGroup Label="Globals">
<ProjectGuid>a509059e-5633-4f18-b58a-15b11d6a91sq</ProjectGuid>
</PropertyGroup>
<PropertyGroup>
<JavaScriptTestRoot>tests\</JavaScriptTestRoot>
<JavaScriptTestFramework>Jest</JavaScriptTestFramework>
</PropertyGroup>
<ItemGroup>
<Script Include="**" Exclude="*.esproj;**\node_modules\**;*\*.js.map;*.js.map;bin\**;obj\**" />
</ItemGroup>
<Target Name="Restore">
<Exec Command="npm install --no-audit --no-fund --no-progress --include=dev" />
</Target>
<Target Name="VSTest">
<Exec Command="npm run test" /> <!-- Test explorer wouldn't run this command -->
</Target>
</Project>