Fix the project.json for C# library and add tests (#3507)
* Fix the project.json for C# library and add tests This commit fixes the bug introduced in project.json for the C# Library template. It also adds two simple tests for the library template that drop the class library and then restore and another that also builds. Fixes #3496
This commit is contained in:
parent
762a259e9f
commit
79bbfafc51
4 changed files with 129 additions and 2 deletions
|
@ -7,7 +7,9 @@
|
|||
},
|
||||
"frameworks": {
|
||||
"netstandard1.6": {
|
||||
"NETStandard.Library": "1.5.0-rc3-24126-00"
|
||||
"dependencies": {
|
||||
"NETStandard.Library": "1.6.0-rc3-24210-06"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,7 +29,16 @@ Language of project. Defaults to `C##`. Also `csharp` ( `fsharp` ) or `cs` ( `fs
|
|||
|
||||
`-t`, `--type`
|
||||
|
||||
Type of the project. Valid values are "console" and "web".
|
||||
Type of the project. Valid values for C# are:
|
||||
|
||||
* `console`
|
||||
* `web`
|
||||
* `lib`
|
||||
* `xunittest`
|
||||
|
||||
Valid values for F# are:
|
||||
|
||||
* `console`
|
||||
|
||||
## EXAMPLES
|
||||
|
||||
|
|
58
test/dotnet-new.Tests/GivenThatIWantANewCSLIbrary.cs
Normal file
58
test/dotnet-new.Tests/GivenThatIWantANewCSLIbrary.cs
Normal file
|
@ -0,0 +1,58 @@
|
|||
// Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using Microsoft.DotNet.Tools.Test.Utilities;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using Xunit;
|
||||
using FluentAssertions;
|
||||
|
||||
namespace Microsoft.DotNet.Tests
|
||||
{
|
||||
public class GivenThatIWantANewCSLibrary : TestBase
|
||||
{
|
||||
|
||||
[Fact]
|
||||
public void When_library_created_Then_project_restores()
|
||||
{
|
||||
var rootPath = Temp.CreateDirectory().Path;
|
||||
var projectJsonFile = Path.Combine(rootPath, "project.json");
|
||||
|
||||
new TestCommand("dotnet") { WorkingDirectory = rootPath }
|
||||
.Execute("new --type lib")
|
||||
.Should()
|
||||
.Pass();
|
||||
|
||||
new TestCommand("dotnet") { WorkingDirectory = rootPath }
|
||||
.Execute("restore")
|
||||
.Should().Pass();
|
||||
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void When_dotnet_build_is_invoked_Then_project_builds_without_warnings()
|
||||
{
|
||||
var rootPath = Temp.CreateDirectory().Path;
|
||||
|
||||
new TestCommand("dotnet") { WorkingDirectory = rootPath }
|
||||
.Execute("new --type lib");
|
||||
|
||||
new TestCommand("dotnet") { WorkingDirectory = rootPath }
|
||||
.Execute("restore");
|
||||
|
||||
var buildResult = new TestCommand("dotnet")
|
||||
.WithWorkingDirectory(rootPath)
|
||||
.ExecuteWithCapturedOutput("build")
|
||||
.Should()
|
||||
.Pass()
|
||||
.And
|
||||
.NotHaveStdErr();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
58
test/dotnet-new.Tests/GivenThatIWantANewCSxUnitProject.cs
Normal file
58
test/dotnet-new.Tests/GivenThatIWantANewCSxUnitProject.cs
Normal file
|
@ -0,0 +1,58 @@
|
|||
// Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using Microsoft.DotNet.Tools.Test.Utilities;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using Xunit;
|
||||
using FluentAssertions;
|
||||
|
||||
namespace Microsoft.DotNet.Tests
|
||||
{
|
||||
public class GivenThatIWantANewCSxUnitProject : TestBase
|
||||
{
|
||||
|
||||
[Fact]
|
||||
public void When_xUnit_project_created_Then_project_restores()
|
||||
{
|
||||
var rootPath = Temp.CreateDirectory().Path;
|
||||
var projectJsonFile = Path.Combine(rootPath, "project.json");
|
||||
|
||||
new TestCommand("dotnet") { WorkingDirectory = rootPath }
|
||||
.Execute("new --type xunittest")
|
||||
.Should()
|
||||
.Pass();
|
||||
|
||||
new TestCommand("dotnet") { WorkingDirectory = rootPath }
|
||||
.Execute("restore")
|
||||
.Should().Pass();
|
||||
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void When_dotnet_test_is_invoked_Then_tests_run_without_errors()
|
||||
{
|
||||
var rootPath = Temp.CreateDirectory().Path;
|
||||
|
||||
new TestCommand("dotnet") { WorkingDirectory = rootPath }
|
||||
.Execute("new --type xunittest");
|
||||
|
||||
new TestCommand("dotnet") { WorkingDirectory = rootPath }
|
||||
.Execute("restore");
|
||||
|
||||
var buildResult = new TestCommand("dotnet")
|
||||
.WithWorkingDirectory(rootPath)
|
||||
.ExecuteWithCapturedOutput("test")
|
||||
.Should()
|
||||
.Pass()
|
||||
.And
|
||||
.NotHaveStdErr();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue