dotnet-installer/test/dotnet.Tests/GivenThatICareAboutVBApps.cs

73 lines
2.3 KiB
C#
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 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.IO;
using FluentAssertions;
using Microsoft.DotNet.TestFramework;
using Microsoft.DotNet.Tools.Test.Utilities;
using Xunit;
namespace Microsoft.DotNet.Tests
{
public class GivenThatICareAboutVBApps : TestBase
{
private TestAssetInstance _testInstance;
public GivenThatICareAboutVBApps()
{
_testInstance = TestAssets.Get("VBTestApp")
.CreateInstance()
.WithSourceFiles();
new RestoreCommand()
.WithWorkingDirectory(_testInstance.Root)
.Execute()
.Should().Pass();
}
// Enable cross-plat once https://github.com/Microsoft/msbuild/issues/422 is fixed
[WindowsOnlyFact]
public void ICanBuildVBApps()
{
new BuildCommand()
.WithWorkingDirectory(_testInstance.Root)
.Execute()
.Should().Pass();
}
// Enable cross-plat once https://github.com/Microsoft/msbuild/issues/422 is fixed
[WindowsOnlyFact]
public void ICanRunVBApps()
{
new RunCommand()
.WithWorkingDirectory(_testInstance.Root)
.Execute()
.Should().Pass();
}
// Enable cross-plat once https://github.com/Microsoft/msbuild/issues/422 is fixed
[WindowsOnlyFact]
public void ICanPublicAndRunVBApps()
{
new PublishCommand()
.WithWorkingDirectory(_testInstance.Root)
.Execute()
.Should().Pass();
var configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug";
var outputDll = Path.Combine(
_testInstance.Root.FullName,
"bin",
configuration,
"netcoreapp2.0",
"publish",
"VBTestApp.dll");
new DotnetCommand()
.ExecuteWithCapturedOutput(outputDll)
.Should().Pass()
.And.HaveStdOutContaining("Hello World");
}
}
}