Only add the xunit references if the test running is xunit

This commit is contained in:
Justin Goshi 2016-10-31 15:55:22 -07:00
parent 4ea37c91a8
commit 4cd74bff88
2 changed files with 41 additions and 15 deletions

View file

@ -86,7 +86,8 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Rules
MigrationSettings migrationSettings,
ProjectItemGroupElement noFrameworkPackageReferenceItemGroup)
{
var type = migrationRuleInputs.DefaultProjectContext.ProjectFile.GetProjectType();
var project = migrationRuleInputs.DefaultProjectContext.ProjectFile;
var type = project.GetProjectType();
switch (type)
{
case ProjectType.Web:
@ -108,21 +109,24 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Rules
Version = PackageConstants.TestSdkPackageVersion
}), noFrameworkPackageReferenceItemGroup, mergeExisting: false);
_transformApplicator.Execute(
PackageDependencyInfoTransform.Transform(
new PackageDependencyInfo
{
Name = PackageConstants.XUnitPackageName,
Version = PackageConstants.XUnitPackageVersion
}), noFrameworkPackageReferenceItemGroup, mergeExisting: false);
if (project.TestRunner.Equals("xunit", StringComparison.OrdinalIgnoreCase))
{
_transformApplicator.Execute(
PackageDependencyInfoTransform.Transform(
new PackageDependencyInfo
{
Name = PackageConstants.XUnitPackageName,
Version = PackageConstants.XUnitPackageVersion
}), noFrameworkPackageReferenceItemGroup, mergeExisting: false);
_transformApplicator.Execute(
PackageDependencyInfoTransform.Transform(
new PackageDependencyInfo
{
Name = PackageConstants.XUnitRunnerPackageName,
Version = PackageConstants.XUnitRunnerPackageVersion
}), noFrameworkPackageReferenceItemGroup, mergeExisting: false);
_transformApplicator.Execute(
PackageDependencyInfoTransform.Transform(
new PackageDependencyInfo
{
Name = PackageConstants.XUnitRunnerPackageName,
Version = PackageConstants.XUnitRunnerPackageVersion
}), noFrameworkPackageReferenceItemGroup, mergeExisting: false);
}
break;
default:
break;

View file

@ -258,6 +258,28 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Tests
items[0].Include.Should().Be("System");
}
[Fact]
public void It_migrates_test_projects_to_have_test_sdk()
{
var mockProj = RunPackageDependenciesRuleOnPj(@"
{
""buildOptions"": {
""emitEntryPoint"": true
},
""frameworks"": {
""netcoreapp1.0"": {}
},
""testRunner"": ""mstest""
}");
var items = mockProj.Items
.Where(i => (i.Include == "Microsoft.NET.Test.Sdk" && i.ItemType == "PackageReference") ||
(i.Include == "xunit" && i.ItemType == "PackageReference") ||
(i.Include == "xunit.runner.visualstudio" && i.ItemType == "PackageReference"));
items.Should().HaveCount(1);
}
[Fact]
public void It_migrates_test_projects_to_have_test_sdk_and_xunit_packagedependencies()
{