using System.IO;
using Microsoft.DotNet.Tools.Test.Utilities;
using Xunit;
using Microsoft.DotNet.TestFramework;
namespace Microsoft.DotNet.Tools.Builder.Tests
{
public class BuildPortableTests : TestBase
[Fact]
public void BuildingAPortableProjectProducesDepsJsonFile()
var testInstance = TestAssetsManager.CreateTestInstance("PortableTests").WithLockFiles();
var netstandardappOutput = Build(testInstance);
netstandardappOutput.Should().Exist().And.HaveFile("PortableApp.deps.json");
}
public void BuildingAPortableProjectProducesADllFile()
netstandardappOutput.Should().Exist().And.HaveFile("PortableApp.dll");
public void BuildingAPortableProjectProducesAPdbFile()
netstandardappOutput.Should().Exist().And.HaveFile("PortableApp.pdb");
public void BuildingAPortableProjectProducesARuntimeConfigJsonFile()
netstandardappOutput.Should().Exist().And.HaveFile("PortableApp.runtimeconfig.json");
public void BuildingAPortableProjectProducesARuntimeConfigDevJsonFile()
netstandardappOutput.Should().Exist().And.HaveFile("PortableApp.runtimeconfig.dev.json");
private DirectoryInfo Build(TestInstance testInstance)
var result = new BuildCommand(
projectPath: Path.Combine(testInstance.TestRoot, "PortableApp"))
.ExecuteWithCapturedOutput();
result.Should().Pass();
var outputBase = new DirectoryInfo(Path.Combine(testInstance.TestRoot, "PortableApp", "bin", "Debug"));
return outputBase.Sub("netstandard1.5");