Skip to content

Commit

Permalink
Merge pull request #1301 from nunit/port-1203
Browse files Browse the repository at this point in the history
Correctly load tests using Windows Forms or ASP .NET\
  • Loading branch information
CharliePoole authored Jan 8, 2023
2 parents 56ffef3 + f11499a commit 6549866
Show file tree
Hide file tree
Showing 9 changed files with 260 additions and 74 deletions.
14 changes: 14 additions & 0 deletions NUnitConsole.sln
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "nunit4-console.tests", "src
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "nunit4-netcore-console", "src\NUnitConsole\nunit4-netcore-console\nunit4-netcore-console.csproj", "{9667833E-A037-41C9-A3BC-D218903EF670}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "aspnetcore-test", "src\TestData\aspnetcore-test\aspnetcore-test.csproj", "{7CD5F602-368E-41E3-8C61-42093CB12D70}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "windows-test", "src\TestData\windows-test\windows-test.csproj", "{5BD1B0BA-6DD3-4619-B5E0-4FFF19F941C2}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -231,6 +235,14 @@ Global
{9667833E-A037-41C9-A3BC-D218903EF670}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9667833E-A037-41C9-A3BC-D218903EF670}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9667833E-A037-41C9-A3BC-D218903EF670}.Release|Any CPU.Build.0 = Release|Any CPU
{7CD5F602-368E-41E3-8C61-42093CB12D70}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7CD5F602-368E-41E3-8C61-42093CB12D70}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7CD5F602-368E-41E3-8C61-42093CB12D70}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7CD5F602-368E-41E3-8C61-42093CB12D70}.Release|Any CPU.Build.0 = Release|Any CPU
{5BD1B0BA-6DD3-4619-B5E0-4FFF19F941C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5BD1B0BA-6DD3-4619-B5E0-4FFF19F941C2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5BD1B0BA-6DD3-4619-B5E0-4FFF19F941C2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5BD1B0BA-6DD3-4619-B5E0-4FFF19F941C2}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down Expand Up @@ -266,6 +278,8 @@ Global
{E1F5F8D3-4AC4-4BB0-9438-2BF41768B473} = {576DB1E6-C5EC-4FEF-A826-EC19D8BEE572}
{0D6B575A-93B4-4944-B4C0-68CDD413B904} = {576DB1E6-C5EC-4FEF-A826-EC19D8BEE572}
{9667833E-A037-41C9-A3BC-D218903EF670} = {576DB1E6-C5EC-4FEF-A826-EC19D8BEE572}
{7CD5F602-368E-41E3-8C61-42093CB12D70} = {37D508B2-91E0-4B32-869B-DFF9E68EA213}
{5BD1B0BA-6DD3-4619-B5E0-4FFF19F941C2} = {37D508B2-91E0-4B32-869B-DFF9E68EA213}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {D8E4FC26-5422-4C51-8BBC-D1AC0A578711}
Expand Down
2 changes: 2 additions & 0 deletions cake/constants.cake
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,8 @@ static string MOCK_ASSEMBLY_PROJECT_BIN_DIR; MOCK_ASSEMBLY_PROJECT_BIN_DIR = SOU
static string MOCK_ASSEMBLY_X86_PROJECT_BIN_DIR; MOCK_ASSEMBLY_X86_PROJECT_BIN_DIR = SOURCE_DIR + $"TestData/mock-assembly-x86/bin/{Configuration}/";
static string MOCK_ASSEMBLY_NUNIT4_PROJECT_BIN_DIR; MOCK_ASSEMBLY_NUNIT4_PROJECT_BIN_DIR = SOURCE_DIR + $"TestData/mock-assembly-nunit4/bin/{Configuration}/";
static string NOTEST_ASSEMBLY_PROJECT_BIN_DIR; NOTEST_ASSEMBLY_PROJECT_BIN_DIR = SOURCE_DIR + $"TestData/notest-assembly/bin/{Configuration}/";
static string WINDOWS_TEST_PROJECT_BIN_DIR; WINDOWS_TEST_PROJECT_BIN_DIR = SOURCE_DIR + $"TestData/windows-test/bin/{Configuration}/";
static string ASP_NET_CORE_TEST_PROJECT_BIN_DIR; ASP_NET_CORE_TEST_PROJECT_BIN_DIR = SOURCE_DIR + $"TestData/aspnetcore-test/bin/{Configuration}/";

// We build two console runners. If version of either is upgraded, change it here
const string NETFX_CONSOLE_TARGET = "net462";
Expand Down
28 changes: 19 additions & 9 deletions cake/package-definitions.cake
Original file line number Diff line number Diff line change
Expand Up @@ -19,25 +19,29 @@ public void InitializePackageDefinitions(ICakeContext context)
// Tests run for all runner packages except NETCORE runner
var StandardRunnerTests = new List<PackageTest>
{
// Single assemblies
Net35Test,
Net35X86Test,
Net462Test,
Net462X86Test,
Net462NUnit4Test,
Net35PlusNet462Test,
NetCore21Test,
NetCore31Test,
Net50Test,
Net60Test,
Net70Test,
// X86 Tests
Net35X86Test,
Net462X86Test,
// Special Test Situations
Net60WindowsFormsTest,
Net60AspNetCoreTest,
// Multiple Assemblies
Net35PlusNet462Test,
Net50PlusNet60Test,
NetCore21PlusNetCore31Test,
NetCore21PlusNetCore31PlusNet50PlusNet60Test,
Net462PlusNet60Test,
// NUnit4 Tests
Net462NUnit4Test,
NetCore31NUnit4Test,
Net50NUnit4Test,
Net60NUnit4Test,
Net462PlusNet60NUnit4Test
};

if (dotnetX86Available && !BuildSystem.IsRunningOnAppVeyor)
Expand All @@ -49,18 +53,24 @@ public void InitializePackageDefinitions(ICakeContext context)
// Tests run for the NETCORE runner package
var NetCoreRunnerTests = new List<PackageTest>
{
// Single assemblies
NetCore21Test,
NetCore31Test,
Net50Test,
Net60Test,
// Special test situation
Net60AspNetCoreTest,
// Multiple assemblies
Net50PlusNet60Test,
NetCore21PlusNetCore31Test,
NetCore21PlusNetCore31PlusNet50PlusNet60Test,
// NUnit4 Tests
NetCore31NUnit4Test,
Net50NUnit4Test,
Net60NUnit4Test,
};

if (IsRunningOnWindows())
NetCoreRunnerTests.Add(Net60WindowsFormsTest);

AllPackages.AddRange(new PackageDefinition[] {

NUnitConsoleNuGetPackage = new NuGetPackage(
Expand Down
130 changes: 67 additions & 63 deletions cake/package-tests.cake
Original file line number Diff line number Diff line change
Expand Up @@ -12,41 +12,36 @@ static ExpectedResult MockAssemblyExpectedResult(int nCopies = 1) => new Expecte
Skipped = 7 * nCopies
};

// Tests using NUnit 3
// Single Assembly Tests using each agent

PackageTest Net35Test = new PackageTest(
"Net35Test",
"Run mock-assembly.dll under .NET 3.5",
MOCK_ASSEMBLY_PROJECT_BIN_DIR + "net35/mock-assembly.dll",
MockAssemblyExpectedResult(1));

PackageTest Net35X86Test = new PackageTest(
"Net35X86Test",
"Run mock-assembly-x86.dll under .NET 3.5",
MOCK_ASSEMBLY_X86_PROJECT_BIN_DIR + "net35/mock-assembly-x86.dll",
MockAssemblyExpectedResult(1));

PackageTest Net462Test = new PackageTest(
"Net462Test",
"Run mock-assembly.dll under .NET 4.6.2",
MOCK_ASSEMBLY_PROJECT_BIN_DIR + "net462/mock-assembly.dll",
MockAssemblyExpectedResult(1));

PackageTest Net462X86Test = new PackageTest(
"Net462X86Test",
"Run mock-assembly-x86.dll under .NET 4.6.2",
MOCK_ASSEMBLY_X86_PROJECT_BIN_DIR + "net462/mock-assembly-x86.dll",
PackageTest NetCore21Test = new PackageTest(
"NetCore21Test",
"Run mock-assembly.dll targeting .NET Core 2.1",
MOCK_ASSEMBLY_PROJECT_BIN_DIR + "netcoreapp2.1/mock-assembly.dll",
MockAssemblyExpectedResult(1));

PackageTest Net35PlusNet462Test = new PackageTest(
"Net35PlusNet462Test",
"Run both copies of mock-assembly together",
$"{MOCK_ASSEMBLY_PROJECT_BIN_DIR}net35/mock-assembly.dll {MOCK_ASSEMBLY_PROJECT_BIN_DIR}net462/mock-assembly.dll",
MockAssemblyExpectedResult(2));
PackageTest NetCore31Test = new PackageTest(
"NetCore31Test",
"Run mock-assembly.dll under .NET Core 3.1",
MOCK_ASSEMBLY_PROJECT_BIN_DIR + "netcoreapp3.1/mock-assembly.dll",
MockAssemblyExpectedResult(1));

PackageTest Net70Test = new PackageTest(
"Net70Test",
"Run mock-assembly.dll under .NET 7.0",
MOCK_ASSEMBLY_PROJECT_BIN_DIR + "net7.0/mock-assembly.dll",
PackageTest Net50Test = new PackageTest(
"Net50Test",
"Run mock-assembly.dll under .NET 5.0",
MOCK_ASSEMBLY_PROJECT_BIN_DIR + "net5.0/mock-assembly.dll",
MockAssemblyExpectedResult(1));

PackageTest Net60Test = new PackageTest(
Expand All @@ -55,22 +50,24 @@ PackageTest Net60Test = new PackageTest(
MOCK_ASSEMBLY_PROJECT_BIN_DIR + "net6.0/mock-assembly.dll",
MockAssemblyExpectedResult(1));

PackageTest Net50Test = new PackageTest(
"Net50Test",
"Run mock-assembly.dll under .NET 5.0",
MOCK_ASSEMBLY_PROJECT_BIN_DIR + "net5.0/mock-assembly.dll",
PackageTest Net70Test = new PackageTest(
"Net70Test",
"Run mock-assembly.dll under .NET 7.0",
MOCK_ASSEMBLY_PROJECT_BIN_DIR + "net7.0/mock-assembly.dll",
MockAssemblyExpectedResult(1));

PackageTest Net50PlusNet60Test = new PackageTest(
"Net50PlusNet60Test",
"Run mock-assembly under .Net 5.0 and .Net 6.0 together",
$"{MOCK_ASSEMBLY_PROJECT_BIN_DIR}net5.0/mock-assembly.dll {MOCK_ASSEMBLY_PROJECT_BIN_DIR}net6.0/mock-assembly.dll",
MockAssemblyExpectedResult(2));

PackageTest NetCore31Test = new PackageTest(
"NetCore31Test",
"Run mock-assembly.dll under .NET Core 3.1",
MOCK_ASSEMBLY_PROJECT_BIN_DIR + "netcoreapp3.1/mock-assembly.dll",
// X86 Tests

PackageTest Net35X86Test = new PackageTest(
"Net35X86Test",
"Run mock-assembly-x86.dll under .NET 3.5",
MOCK_ASSEMBLY_X86_PROJECT_BIN_DIR + "net35/mock-assembly-x86.dll",
MockAssemblyExpectedResult(1));

PackageTest Net462X86Test = new PackageTest(
"Net462X86Test",
"Run mock-assembly-x86.dll under .NET 4.6.2",
MOCK_ASSEMBLY_X86_PROJECT_BIN_DIR + "net462/mock-assembly-x86.dll",
MockAssemblyExpectedResult(1));

PackageTest NetCore31X86Test = new PackageTest(
Expand All @@ -79,36 +76,48 @@ PackageTest NetCore31X86Test = new PackageTest(
MOCK_ASSEMBLY_X86_PROJECT_BIN_DIR + "netcoreapp3.1/mock-assembly-x86.dll",
MockAssemblyExpectedResult(1));

PackageTest NetCore21Test = new PackageTest(
"NetCore21Test",
"Run mock-assembly.dll targeting .NET Core 2.1",
MOCK_ASSEMBLY_PROJECT_BIN_DIR + "netcoreapp2.1/mock-assembly.dll",
MockAssemblyExpectedResult(1));

PackageTest NetCore21X86Test = new PackageTest(
"NetCore21X86Test",
"Run mock-assembly-x86.dll under .NET Core 2.1",
MOCK_ASSEMBLY_X86_PROJECT_BIN_DIR + "netcoreapp2.1/mock-assembly-x86.dll",
MockAssemblyExpectedResult(1));

PackageTest NetCore21PlusNetCore31Test = new PackageTest(
"NetCore21PlusNetCore31Test",
"Run two copies of mock-assembly together",
$"{MOCK_ASSEMBLY_PROJECT_BIN_DIR}netcoreapp2.1/mock-assembly.dll {MOCK_ASSEMBLY_PROJECT_BIN_DIR}netcoreapp3.1/mock-assembly.dll",
MockAssemblyExpectedResult(2));
// Special Test Situations

PackageTest Net60WindowsFormsTest = new PackageTest(
"Net60WindowsFormsTest",
"Run test using windows forms under .NET 6.0",
WINDOWS_TEST_PROJECT_BIN_DIR + "net6.0-windows/windows-test.dll",
new ExpectedResult("Passed"));

PackageTest Net60AspNetCoreTest = new PackageTest(
"Net60AspNetCoreTest",
"Run test using AspNetCore under .NET 6.0",
ASP_NET_CORE_TEST_PROJECT_BIN_DIR + "net6.0/aspnetcore-test.dll",
new ExpectedResult("Passed"));

PackageTest NetCore21PlusNetCore31PlusNet50PlusNet60Test = new PackageTest(
"NetCore21PlusNetCore31PlusNet50PlusNet60Test",
"Run four copies of mock-assembly together",
$"{MOCK_ASSEMBLY_PROJECT_BIN_DIR}netcoreapp2.1/mock-assembly.dll {MOCK_ASSEMBLY_PROJECT_BIN_DIR}netcoreapp3.1/mock-assembly.dll {MOCK_ASSEMBLY_PROJECT_BIN_DIR}net5.0/mock-assembly.dll {MOCK_ASSEMBLY_PROJECT_BIN_DIR}net6.0/mock-assembly.dll",
MockAssemblyExpectedResult(4));
// Multiple Assemblies

PackageTest Net35PlusNet462Test = new PackageTest(
"Net35PlusNet462Test",
"Run both copies of mock-assembly together",
$"{MOCK_ASSEMBLY_PROJECT_BIN_DIR}net35/mock-assembly.dll {MOCK_ASSEMBLY_PROJECT_BIN_DIR}net462/mock-assembly.dll",
MockAssemblyExpectedResult(2));

PackageTest Net50PlusNet60Test = new PackageTest(
"Net50PlusNet60Test",
"Run mock-assembly under .Net 5.0 and .Net 6.0 together",
$"{MOCK_ASSEMBLY_PROJECT_BIN_DIR}net5.0/mock-assembly.dll {MOCK_ASSEMBLY_PROJECT_BIN_DIR}net6.0/mock-assembly.dll",
MockAssemblyExpectedResult(2));

PackageTest Net462PlusNet60Test = new PackageTest(
"Net462PlusNet60Test",
"Run mock-assembly under .Net Framework 4.6.2 and .Net 6.0 together",
$"{MOCK_ASSEMBLY_PROJECT_BIN_DIR}net462/mock-assembly.dll {MOCK_ASSEMBLY_PROJECT_BIN_DIR}net6.0/mock-assembly.dll",
MockAssemblyExpectedResult(2));

// NUnitProject Test

PackageTest NUnitProjectTest;
NUnitProjectTest = new PackageTest(
"NUnitProjectTest",
Expand All @@ -117,22 +126,17 @@ NUnitProjectTest = new PackageTest(
MockAssemblyExpectedResult(2));

// Tests using NUnit 4
PackageTest Net462PlusNet60NUnit4Test = new PackageTest(
"Net462PlusNet60Test",
"Run mock-assembly-nunit4 under .Net Framework 4.6.2 and .Net 6.0 together",
$"{MOCK_ASSEMBLY_NUNIT4_PROJECT_BIN_DIR}net462/mock-assembly-nunit4.dll {MOCK_ASSEMBLY_NUNIT4_PROJECT_BIN_DIR}net6.0/mock-assembly-nunit4.dll",
MockAssemblyExpectedResult(2));

PackageTest Net462NUnit4Test = new PackageTest(
"Net462NUnit4Test",
"Run mock-assembly-nunit4.dll under .NET 4.6.2",
MOCK_ASSEMBLY_NUNIT4_PROJECT_BIN_DIR + "net462/mock-assembly-nunit4.dll",
MockAssemblyExpectedResult(1));

PackageTest Net60NUnit4Test = new PackageTest(
"Net60NUnit4Test",
"Run mock-assembly-nunit4.dll under .NET 6.0",
MOCK_ASSEMBLY_NUNIT4_PROJECT_BIN_DIR + "net6.0/mock-assembly-nunit4.dll",
PackageTest NetCore31NUnit4Test = new PackageTest(
"NetCore31NUnit4Test",
"Run mock-assembly-nunit4.dll under .NET Core 3.1",
MOCK_ASSEMBLY_NUNIT4_PROJECT_BIN_DIR + "netcoreapp3.1/mock-assembly-nunit4.dll",
MockAssemblyExpectedResult(1));

PackageTest Net50NUnit4Test = new PackageTest(
Expand All @@ -141,10 +145,10 @@ PackageTest Net50NUnit4Test = new PackageTest(
MOCK_ASSEMBLY_NUNIT4_PROJECT_BIN_DIR + "net5.0/mock-assembly-nunit4.dll",
MockAssemblyExpectedResult(1));

PackageTest NetCore31NUnit4Test = new PackageTest(
"NetCore31NUnit4Test",
"Run mock-assembly-nunit4.dll under .NET Core 3.1",
MOCK_ASSEMBLY_NUNIT4_PROJECT_BIN_DIR + "netcoreapp3.1/mock-assembly-nunit4.dll",
PackageTest Net60NUnit4Test = new PackageTest(
"Net60NUnit4Test",
"Run mock-assembly-nunit4.dll under .NET 6.0",
MOCK_ASSEMBLY_NUNIT4_PROJECT_BIN_DIR + "net6.0/mock-assembly-nunit4.dll",
MockAssemblyExpectedResult(1));

// Representation of a single test to be run against a pre-built package.
Expand Down
Loading

0 comments on commit 6549866

Please sign in to comment.