在vstest.console.exe中本地运行node.js测试给出...错误:调用执行程序'executor时发生异常:// nodejstestexecutor / v1

时间:2017-07-03 07:28:37

标签: node.js unit-testing msbuild azure-devops visual-studio-2017

我正在尝试让VSTS运行我的Mocha单元测试,类似于我在VS 2017中运行它们的方式。

我安装了Node JS Tools for Visual Studio和VS Test Explorer (重启后)选择测试并运行它们。

但我无法获得运行它们的VSTS构建任务???

尝试了解关于NTVS的关于running tests in VSTS的说明,但没有乐趣让它发挥作用。

转到关于troubleshooting的部分,看看我是否可以使用我的本地vstest.console.exe运行测试......

到目前为止试图运行vstest ......

  • 错误:找不到导入的项目"C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v15.0\Node.js Tools\Microsoft.NodejsTools.targets"
  • 快速修复... 添加了目录的副本... C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\VisualStudio\v15.0\Node.js Tools ...到... C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v15.0
  • 错误:找不到导入的项目"C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v15.0\WebApplications\Microsoft.WebApplication.targets"
  • 快速修复 ...添加了目录的副本... C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\VisualStudio\v15.0\WebApplications\Microsoft.WebApplication.targets ...到... C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v15.0
  • 错误:找不到路径[{1}}
  • 的一部分
  • C:\Repos\smc\BasicAzureExpress\BasicAzureExpress\ntvs\TestFrameworks ...将.nsproj修改为VS 2017 ... quick fix以及<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">15.0</VisualStudioVersion>下的目录\TestFrameworks

...然后出现错误... \ntvs

所以我很困惑为什么VS 2017可以运行测试,但是Error: Missing generic test framework不会

1 个答案:

答案 0 :(得分:0)

首先,如果在命令行中运行, VSToolsPath 值为空,则使用$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)路径,但没有必要的nodejs工具文件。

您可以像这样修改它(如果您使用的是vs2017 Professional,则将社区更改为专业版):

<!--<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>-->
    <VSToolsPath>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\VisualStudio\v15.0</VSToolsPath>

其次,请参阅以下步骤在Hosted VS 2017代理上运行测试。

  1. 修改项目文件(njsproj)
  2. <!--<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>-->
        <VSToolsPath>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Microsoft\VisualStudio\v15.0</VSToolsPath>
    
    1. 将C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 [社区,专业或企业] \ Common7 \ IDE \ Extensions \ Microsoft中的 NodeJsTools 内容复制到您的ntvs文件夹
    2. 将这些文件添加到源代码管理并签入更改
    3. 使用Hosted VS 2017代理构建队列。