Migrate: add package dependencies to test projects
This commit is contained in:
parent
5a621b53e2
commit
4ea37c91a8
5 changed files with 59 additions and 1 deletions
|
@ -7,5 +7,11 @@ namespace Microsoft.DotNet.ProjectJsonMigration
|
|||
{
|
||||
public const string SdkPackageName = "Microsoft.NET.Sdk";
|
||||
public const string WebSdkPackageName = "Microsoft.NET.Sdk.Web";
|
||||
public const string TestSdkPackageName = "Microsoft.NET.Test.Sdk";
|
||||
public const string TestSdkPackageVersion = "15.0.0-preview-20161024-02";
|
||||
public const string XUnitPackageName = "xunit";
|
||||
public const string XUnitPackageVersion = "2.2.0-beta3-build3402";
|
||||
public const string XUnitRunnerPackageName = "xunit.runner.visualstudio";
|
||||
public const string XUnitRunnerPackageVersion = "2.2.0-beta4-build1188";
|
||||
}
|
||||
}
|
|
@ -18,6 +18,10 @@ namespace Microsoft.DotNet.ProjectJsonMigration
|
|||
{
|
||||
projectType = ProjectType.Web;
|
||||
}
|
||||
else if (project.IsTestProject)
|
||||
{
|
||||
projectType = ProjectType.Test;
|
||||
}
|
||||
|
||||
return projectType;
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@ namespace Microsoft.DotNet.ProjectJsonMigration
|
|||
internal enum ProjectType
|
||||
{
|
||||
Console,
|
||||
Web
|
||||
Web,
|
||||
Test
|
||||
}
|
||||
}
|
|
@ -99,6 +99,31 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Rules
|
|||
PrivateAssets = "All"
|
||||
}), noFrameworkPackageReferenceItemGroup, mergeExisting: false);
|
||||
break;
|
||||
case ProjectType.Test:
|
||||
_transformApplicator.Execute(
|
||||
PackageDependencyInfoTransform.Transform(
|
||||
new PackageDependencyInfo
|
||||
{
|
||||
Name = PackageConstants.TestSdkPackageName,
|
||||
Version = PackageConstants.TestSdkPackageVersion
|
||||
}), noFrameworkPackageReferenceItemGroup, mergeExisting: false);
|
||||
|
||||
_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);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -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_and_xunit_packagedependencies()
|
||||
{
|
||||
var mockProj = RunPackageDependenciesRuleOnPj(@"
|
||||
{
|
||||
""buildOptions"": {
|
||||
""emitEntryPoint"": true
|
||||
},
|
||||
""frameworks"": {
|
||||
""netcoreapp1.0"": {}
|
||||
},
|
||||
""testRunner"": ""xunit""
|
||||
}");
|
||||
|
||||
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(3);
|
||||
}
|
||||
|
||||
private void EmitsPackageReferences(ProjectRootElement mockProj, params Tuple<string, string, string>[] packageSpecs)
|
||||
{
|
||||
foreach (var packageSpec in packageSpecs)
|
||||
|
|
Loading…
Add table
Reference in a new issue