Visual Studio 2017无法发现单元测试

时间:2018-01-10 22:34:55

标签: c# asp.net-core visual-studio-2017 mstest

我正在运行.NET Framework 4.6.1来构建一个测试类库,我在其中构建MSTest个测试(Microsoft.VisualStudio.TestTools.UnitTesting)。我可以通过进入包含测试项目并运行dotnet test的文件夹来完全运行测试。

但是,VS不会在Text Explorer中发现测试。我已经将每个相关的NuGet软件包更新到最新版本,以回答这个问题:

enter image description here

我也尝试了Test -> Test Settings -> Default Processor Architecture -> x86x64

我总是收到以下错误:

  

[1/10/2018 5:01:03 PM警告]测试运行将使用为其构建的DLL   框架Framework45和平台X86。以下DLL不会   运行的一部分:

这会导致什么?如果它有所帮助,我的所有同事都有同样的问题,而且只有这个解决方案。

这是一个Microsoft.AspNetCore 1.1.2项目。

编辑:csproj:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>    
    <TargetFramework>net461</TargetFramework>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
    <PlatformTarget>x64</PlatformTarget>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
    <PlatformTarget>x64</PlatformTarget>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="CsvHelper" Version="6.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.TestHost" Version="2.0.1" />
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
    <PackageReference Include="Microsoft.VisualStudio.TestPlatform" Version="14.0.0.1" />
    <PackageReference Include="Moq" Version="4.7.99" />
    <PackageReference Include="MSTest.TestAdapter" Version="1.2.0" />
    <PackageReference Include="MSTest.TestFramework" Version="1.2.0" />
    <PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\CommonHelpers\CommonTestHelpers.csproj" />
    <ProjectReference Include="..\ks-systems\ks-systems.csproj" />
  </ItemGroup>

  <ItemGroup>
    <Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" />
  </ItemGroup>

</Project>

编辑2:

在菜单栏中更改为x86 / x64似乎无法更改.csproj。我手动改为x86 - 这让他们被发现了。现在所有56项测试都失败了,具体如下:

  

消息:无法创建类cm-tools.Tests.Services.TripScholarshipServiceTest的实例。错误:System.BadImageFormatException:无法加载文件或程序集&#39; CtsPlatform,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null&#39;或其中一个依赖项。试图加载格式不正确的程序..

请注意,进行上述更改会导致发现测试,并导致所有测试失败,包括从控制台尝试dotnet test时,无需更改即可正常工作。

0 个答案:

没有答案