Use MSTest meta package (#1215)
* Use MSTest meta package This enables running MSTest Analyzers on test code to help avoid common test problems. * Fix code coverage * Fixes Upgrade to latest and fix unnecessary type param * Fix tests * PR feedback * Fix CC
This commit is contained in:
Родитель
00edc78bf5
Коммит
2dcd512bfa
|
@ -35,7 +35,7 @@ jobs:
|
||||||
run: dotnet build --no-restore --configuration Debug
|
run: dotnet build --no-restore --configuration Debug
|
||||||
|
|
||||||
- name: Run tests
|
- name: Run tests
|
||||||
run: dotnet test --no-build --configuration Debug --collect:"XPlat Code Coverage"
|
run: dotnet test --no-build --configuration Debug --collect:"Code Coverage;Format=cobertura;CoverageFileName=coverage.cobertura.xml"
|
||||||
|
|
||||||
- name: Upload coverage reports to Codecov
|
- name: Upload coverage reports to Codecov
|
||||||
uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # v4.5.0
|
uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # v4.5.0
|
||||||
|
|
|
@ -7,8 +7,6 @@
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageVersion Include="CommandLineParser" Version="2.9.1" />
|
<PackageVersion Include="CommandLineParser" Version="2.9.1" />
|
||||||
<PackageVersion Include="coverlet.collector" Version="6.0.0" />
|
|
||||||
<PackageVersion Include="coverlet.msbuild" Version="6.0.2" />
|
|
||||||
<PackageVersion Include="Docker.DotNet" Version="3.125.15" />
|
<PackageVersion Include="Docker.DotNet" Version="3.125.15" />
|
||||||
<PackageVersion Include="FluentAssertions" Version="6.12.0" />
|
<PackageVersion Include="FluentAssertions" Version="6.12.0" />
|
||||||
<PackageVersion Include="FluentAssertions.Analyzers" Version="0.26.0" />
|
<PackageVersion Include="FluentAssertions.Analyzers" Version="0.26.0" />
|
||||||
|
@ -17,15 +15,13 @@
|
||||||
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="7.0.0" />
|
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="7.0.0" />
|
||||||
<PackageVersion Include="Microsoft.Extensions.Http" Version="7.0.0" />
|
<PackageVersion Include="Microsoft.Extensions.Http" Version="7.0.0" />
|
||||||
<PackageVersion Include="Microsoft.Extensions.Logging" Version="7.0.0" />
|
<PackageVersion Include="Microsoft.Extensions.Logging" Version="7.0.0" />
|
||||||
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.10.0" />
|
|
||||||
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
|
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
|
||||||
<PackageVersion Include="Microsoft.VisualStudio.Threading.Analyzers" Version="17.8.14" />
|
<PackageVersion Include="Microsoft.VisualStudio.Threading.Analyzers" Version="17.8.14" />
|
||||||
<PackageVersion Include="DotNet.Glob" Version="2.1.1" />
|
<PackageVersion Include="DotNet.Glob" Version="2.1.1" />
|
||||||
<PackageVersion Include="MinVer" Version="5.0.0" />
|
<PackageVersion Include="MinVer" Version="5.0.0" />
|
||||||
<PackageVersion Include="Moq" Version="4.18.4" />
|
<PackageVersion Include="Moq" Version="4.18.4" />
|
||||||
<PackageVersion Include="morelinq" Version="4.2.0" />
|
<PackageVersion Include="morelinq" Version="4.2.0" />
|
||||||
<PackageVersion Include="MSTest.TestAdapter" Version="3.4.3" />
|
<PackageVersion Include="MSTest" Version="3.5.1" />
|
||||||
<PackageVersion Include="MSTest.TestFramework" Version="3.4.3" />
|
|
||||||
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
|
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
|
||||||
<PackageVersion Include="Newtonsoft.Json.Schema" Version="3.0.16" />
|
<PackageVersion Include="Newtonsoft.Json.Schema" Version="3.0.16" />
|
||||||
<PackageVersion Include="NuGet.ProjectModel" Version="6.10.0" />
|
<PackageVersion Include="NuGet.ProjectModel" Version="6.10.0" />
|
||||||
|
|
|
@ -3,8 +3,7 @@
|
||||||
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))"/>
|
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))"/>
|
||||||
|
|
||||||
<ItemGroup Label="Package References">
|
<ItemGroup Label="Package References">
|
||||||
<PackageReference Include="MSTest.TestAdapter"/>
|
<PackageReference Include="MSTest"/>
|
||||||
<PackageReference Include="MSTest.TestFramework"/>
|
|
||||||
<PackageReference Include="Moq"/>
|
<PackageReference Include="Moq"/>
|
||||||
<PackageReference Include="FluentAssertions"/>
|
<PackageReference Include="FluentAssertions"/>
|
||||||
<PackageReference Include="Faker.net"/>
|
<PackageReference Include="Faker.net"/>
|
||||||
|
|
|
@ -5,11 +5,9 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup Label="Package References">
|
<ItemGroup Label="Package References">
|
||||||
<PackageReference Include="coverlet.collector" PrivateAssets="all" />
|
|
||||||
<PackageReference Include="Docker.DotNet" />
|
<PackageReference Include="Docker.DotNet" />
|
||||||
<PackageReference Include="FluentAssertions.Analyzers" PrivateAssets="all" />
|
<PackageReference Include="FluentAssertions.Analyzers" PrivateAssets="all" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Logging" />
|
<PackageReference Include="Microsoft.Extensions.Logging" />
|
||||||
<PackageReference Include="Microsoft.NET.Test.Sdk" />
|
|
||||||
<PackageReference Include="System.Threading.Tasks.Dataflow" />
|
<PackageReference Include="System.Threading.Tasks.Dataflow" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|
|
@ -5,9 +5,7 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup Label="Package References">
|
<ItemGroup Label="Package References">
|
||||||
<PackageReference Include="coverlet.collector" PrivateAssets="all" />
|
|
||||||
<PackageReference Include="Microsoft.Extensions.Logging" />
|
<PackageReference Include="Microsoft.Extensions.Logging" />
|
||||||
<PackageReference Include="Microsoft.NET.Test.Sdk" />
|
|
||||||
<PackageReference Include="System.Reactive" />
|
<PackageReference Include="System.Reactive" />
|
||||||
<PackageReference Include="System.Threading.Tasks.Dataflow" />
|
<PackageReference Include="System.Threading.Tasks.Dataflow" />
|
||||||
<PackageReference Include="packageurl-dotnet" />
|
<PackageReference Include="packageurl-dotnet" />
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
namespace Microsoft.ComponentDetection.Detectors.Tests;
|
namespace Microsoft.ComponentDetection.Detectors.Tests;
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
using FluentAssertions;
|
using FluentAssertions;
|
||||||
|
@ -31,6 +31,7 @@ public class GoComponentTests
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
[ExpectedException(typeof(ArgumentNullException))]
|
[ExpectedException(typeof(ArgumentNullException))]
|
||||||
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "MSTEST0006:Avoid '[ExpectedException]'", Justification = "Single-line test case")]
|
||||||
public void ConstructorTest_NameVersion_NullVersion()
|
public void ConstructorTest_NameVersion_NullVersion()
|
||||||
{
|
{
|
||||||
var goComponent = new GoComponent(TestName, null);
|
var goComponent = new GoComponent(TestName, null);
|
||||||
|
@ -38,6 +39,7 @@ public class GoComponentTests
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
[ExpectedException(typeof(ArgumentNullException))]
|
[ExpectedException(typeof(ArgumentNullException))]
|
||||||
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "MSTEST0006:Avoid '[ExpectedException]'", Justification = "Single-line test case")]
|
||||||
public void ConstructorTest_NameVersion_NullName()
|
public void ConstructorTest_NameVersion_NullName()
|
||||||
{
|
{
|
||||||
var goComponent = new GoComponent(null, TestVersion);
|
var goComponent = new GoComponent(null, TestVersion);
|
||||||
|
@ -55,6 +57,7 @@ public class GoComponentTests
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
[ExpectedException(typeof(ArgumentNullException))]
|
[ExpectedException(typeof(ArgumentNullException))]
|
||||||
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "MSTEST0006:Avoid '[ExpectedException]'", Justification = "Single-line test case")]
|
||||||
public void ConstructorTest_NameVersionHash_NullVersion()
|
public void ConstructorTest_NameVersionHash_NullVersion()
|
||||||
{
|
{
|
||||||
var goComponent = new GoComponent(TestName, null, TestHash);
|
var goComponent = new GoComponent(TestName, null, TestHash);
|
||||||
|
@ -62,6 +65,7 @@ public class GoComponentTests
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
[ExpectedException(typeof(ArgumentNullException))]
|
[ExpectedException(typeof(ArgumentNullException))]
|
||||||
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "MSTEST0006:Avoid '[ExpectedException]'", Justification = "Single-line test case")]
|
||||||
public void ConstructorTest_NameVersionHash_NullName()
|
public void ConstructorTest_NameVersionHash_NullName()
|
||||||
{
|
{
|
||||||
var goComponent = new GoComponent(null, TestVersion, TestHash);
|
var goComponent = new GoComponent(null, TestVersion, TestHash);
|
||||||
|
@ -69,6 +73,7 @@ public class GoComponentTests
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
[ExpectedException(typeof(ArgumentNullException))]
|
[ExpectedException(typeof(ArgumentNullException))]
|
||||||
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "MSTEST0006:Avoid '[ExpectedException]'", Justification = "Single-line test case")]
|
||||||
public void ConstructorTest_NameVersionHash_NullHash()
|
public void ConstructorTest_NameVersionHash_NullHash()
|
||||||
{
|
{
|
||||||
var goComponent = new GoComponent(TestName, TestVersion, null);
|
var goComponent = new GoComponent(TestName, TestVersion, null);
|
||||||
|
|
|
@ -185,7 +185,8 @@ public class MavenCommandServiceTests
|
||||||
|
|
||||||
this.environmentVarServiceMock
|
this.environmentVarServiceMock
|
||||||
.Setup(x => x.GetEnvironmentVariable(MavenCommandService.MvnCLIFileLevelTimeoutSecondsEnvVar))
|
.Setup(x => x.GetEnvironmentVariable(MavenCommandService.MvnCLIFileLevelTimeoutSecondsEnvVar))
|
||||||
.Returns("0");
|
.Returns("0")
|
||||||
|
.Callback(() => cts.Cancel());
|
||||||
|
|
||||||
this.commandLineMock.Setup(x => x.ExecuteCommandAsync(
|
this.commandLineMock.Setup(x => x.ExecuteCommandAsync(
|
||||||
MavenCommandService.PrimaryCommand,
|
MavenCommandService.PrimaryCommand,
|
||||||
|
@ -260,7 +261,7 @@ public class MavenCommandServiceTests
|
||||||
|
|
||||||
protected bool ShouldBeEquivalentTo<T>(IEnumerable<T> result, IEnumerable<T> expected)
|
protected bool ShouldBeEquivalentTo<T>(IEnumerable<T> result, IEnumerable<T> expected)
|
||||||
{
|
{
|
||||||
result.Should<T>().BeEquivalentTo(expected);
|
result.Should().BeEquivalentTo(expected);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,10 +6,8 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup Label="Package References">
|
<ItemGroup Label="Package References">
|
||||||
<PackageReference Include="coverlet.collector" PrivateAssets="all" />
|
|
||||||
<PackageReference Include="FluentAssertions.Analyzers" PrivateAssets="all" />
|
<PackageReference Include="FluentAssertions.Analyzers" PrivateAssets="all" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Logging" />
|
<PackageReference Include="Microsoft.Extensions.Logging" />
|
||||||
<PackageReference Include="Microsoft.NET.Test.Sdk" />
|
|
||||||
<PackageReference Include="NuGet.Versioning" />
|
<PackageReference Include="NuGet.Versioning" />
|
||||||
<PackageReference Include="SemanticVersioning" />
|
<PackageReference Include="SemanticVersioning" />
|
||||||
<PackageReference Include="System.Reactive" />
|
<PackageReference Include="System.Reactive" />
|
||||||
|
|
|
@ -6,9 +6,7 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup Label="Package References">
|
<ItemGroup Label="Package References">
|
||||||
<PackageReference Include="coverlet.collector" PrivateAssets="all" />
|
|
||||||
<PackageReference Include="Microsoft.Extensions.Logging" />
|
<PackageReference Include="Microsoft.Extensions.Logging" />
|
||||||
<PackageReference Include="Microsoft.NET.Test.Sdk" />
|
|
||||||
<PackageReference Include="Serilog" />
|
<PackageReference Include="Serilog" />
|
||||||
<PackageReference Include="Spectre.Console.Cli" />
|
<PackageReference Include="Spectre.Console.Cli" />
|
||||||
<PackageReference Include="Spectre.Console.Testing" />
|
<PackageReference Include="Spectre.Console.Testing" />
|
||||||
|
|
|
@ -12,15 +12,13 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<!--<PackageReference Include="Microsoft.NET.Test.Sdk"/>
|
<!--<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.10.0" />
|
||||||
<PackageReference Include="MSTest.TestAdapter" Version="1.1.18" />
|
<PackageReference Include="MSTest.TestAdapter" Version="1.1.18" />
|
||||||
<PackageReference Include="MSTest.TestFramework" Version="1.1.18" />
|
<PackageReference Include="MSTest.TestFramework" Version="1.1.18" />
|
||||||
IF TESTING LOCALLY, UNCOMMENT ABOVE AND COMMENT BELOW -->
|
IF TESTING LOCALLY, UNCOMMENT ABOVE AND COMMENT BELOW -->
|
||||||
<PackageReference Include="FluentAssertions" />
|
<PackageReference Include="FluentAssertions" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Logging" />
|
<PackageReference Include="Microsoft.Extensions.Logging" />
|
||||||
<PackageReference Include="Microsoft.NET.Test.Sdk" />
|
<PackageReference Include="MSTest" />
|
||||||
<PackageReference Include="MSTest.TestAdapter" />
|
|
||||||
<PackageReference Include="MSTest.TestFramework" />
|
|
||||||
<PackageReference Include="Newtonsoft.Json.Schema" />
|
<PackageReference Include="Newtonsoft.Json.Schema" />
|
||||||
<PackageReference Include="packageurl-dotnet" />
|
<PackageReference Include="packageurl-dotnet" />
|
||||||
<PackageReference Include="System.Threading.Tasks.Dataflow" />
|
<PackageReference Include="System.Threading.Tasks.Dataflow" />
|
||||||
|
|
Загрузка…
Ссылка в новой задаче