Skip to content

Conversation

@dennisdoomen
Copy link
Member

@dennisdoomen dennisdoomen commented Jan 10, 2020

Reduced support to .NET 4.7, .NET Standard 2.0 and 2.1, and .NET Core 2.1 and 3.0.
Reduced support to the unit test frameworks MSTest2, NUnit3, XUnit2, MSpec, and NSpec3.

#1228

@dennisdoomen dennisdoomen force-pushed the Refactor/DeprecateOlderFrameworks branch from c0cec9b to 0712869 Compare January 11, 2020 13:00
@dennisdoomen dennisdoomen added this to the 6.0 milestone Jan 11, 2020
@dennisdoomen dennisdoomen force-pushed the Refactor/DeprecateOlderFrameworks branch 2 times, most recently from 53745d4 to 4e5e8b6 Compare January 11, 2020 15:24
@dennisdoomen dennisdoomen changed the title [WIP] Refactor/deprecate older frameworks Remove support for older .NET and unit testing frameworks Jan 11, 2020
@dennisdoomen dennisdoomen force-pushed the Refactor/DeprecateOlderFrameworks branch 2 times, most recently from 9914e4f to e2aca9f Compare January 11, 2020 16:27
@dennisdoomen dennisdoomen requested a review from jnyrup January 11, 2020 16:27
@dennisdoomen dennisdoomen force-pushed the Refactor/DeprecateOlderFrameworks branch 2 times, most recently from a7105c3 to 0ea4441 Compare January 11, 2020 16:52
@dennisdoomen dennisdoomen force-pushed the Refactor/DeprecateOlderFrameworks branch from 0ea4441 to bb20cf9 Compare January 11, 2020 18:57
Copy link
Member

@jnyrup jnyrup left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks interesting.

I don't think I understand the NetStandardReflector/FullFrameworkReflector changes.
Did something not work before?
Before only netstandard16 used the NetStandardReflector which seems to be the only file that has a dependency on Microsoft.Extensions.DependencyModel.
Now many more targets use NetStandardReflector and hence gets an extra dependency.

preprocessor directives in Specs

Tests/Shared.Specs/Equivalency/BasicEquivalencySpecs.cs:3013:#if !NETCOREAPP1_1 && !NETSTANDARD1_3 && !NETSTANDARD1_6 && !NETSTANDARD2_0
Tests/Shared.Specs/Execution/AssertionScopeSpecs.cs:18:#if !NETCOREAPP1_1 && !NETSTANDARD1_3 && !NETSTANDARD1_6 && !NETSTANDARD2_0
Tests/Shared.Specs/Execution/CallerIdentifierSpecs.cs:1:#if !NETCOREAPP1_1 && !NETSTANDARD1_3 && !NETSTANDARD1_6 && !NETSTANDARD2_0
Tests/Shared.Specs/Primitives/ObjectAssertionSpecs.cs:824:#if !NETCOREAPP1_1 && !NETSTANDARD1_3 && !NETSTANDARD1_6 && !NETSTANDARD2_0
Tests/Shared.Specs/Specialized/AssemblyAssertionSpecs.cs:1:#if !NETCOREAPP1_1 && !NETSTANDARD1_3 && !NETSTANDARD1_6 && !NETSTANDARD2_0

mentions of removed test frameworks

Tests/AssemblyA/AssemblyA.v3.ncrunchproject:3: Disabled
Tests/AssemblyB/AssemblyB.v3.ncrunchproject:3: Disabled
Tests/Shared.Specs/Shared.Specs.v3.ncrunchproject:3: Disabled
Tests/TestFrameworks/MSpec.Specs/MSpec.Specs.v3.ncrunchproject:3: Disabled
Tests/TestFrameworks/MSTestV2.Specs/MSTestV2.Specs.v3.ncrunchproject:3: Disabled
Tests/TestFrameworks/NSpec3.Net47.Specs/NSpec3.Net45.Specs.v3.ncrunchproject:3: Disabled
Tests/TestFrameworks/NUnit3.Specs/NUnit3.Specs.v3.ncrunchproject:3: Disabled
Tests/TestFrameworks/XUnit2.Specs/XUnit2.Specs.v3.ncrunchproject:3: Disabled

Tests/AssemblyA/AssemblyA.v3.ncrunchproject:6: Disabled
Tests/AssemblyB/AssemblyB.v3.ncrunchproject:6: Disabled
Tests/Shared.Specs/Shared.Specs.v3.ncrunchproject:6: Disabled
Tests/TestFrameworks/MSpec.Specs/MSpec.Specs.v3.ncrunchproject:6: Disabled
Tests/TestFrameworks/MSTestV2.Specs/MSTestV2.Specs.v3.ncrunchproject:6: Disabled
Tests/TestFrameworks/NSpec3.Net47.Specs/NSpec3.Net45.Specs.v3.ncrunchproject:6: Disabled
Tests/TestFrameworks/NUnit3.Specs/NUnit3.Specs.v3.ncrunchproject:6: Disabled
Tests/TestFrameworks/XUnit2.Specs/XUnit2.Specs.v3.ncrunchproject:6: Disabled

Tests/AssemblyA/AssemblyA.v3.ncrunchproject:5: Disabled
Tests/AssemblyB/AssemblyB.v3.ncrunchproject:5: Disabled
Tests/Shared.Specs/Shared.Specs.v3.ncrunchproject:5: Disabled
Tests/TestFrameworks/MSpec.Specs/MSpec.Specs.v3.ncrunchproject:5: Disabled
Tests/TestFrameworks/NSpec3.Net47.Specs/NSpec3.Net45.Specs.v3.ncrunchproject:5: Disabled
Tests/TestFrameworks/NUnit3.Specs/NUnit3.Specs.v3.ncrunchproject:5: Disabled
Tests/TestFrameworks/XUnit2.Specs/XUnit2.Specs.v3.ncrunchproject:5: Disabled

docs that needs updates regarding target frameworks/test frameworks

docs/index.html:53:Targets .NET 4.5, .NET 4.7, .NET Core 2.0, .Net Core 2.1, .NET Standard 1.3, 1.6, 2.0 and 2.1 and is compatible with .NET Core 3.0.
docs/index.html:54:Supports MSTest, xUnit, NUnit, Gallio, MBUnit, MSpec and NSpec.
docs/_config.yml:22: Targets .NET Framework 4.5 and 4.7, .NET Core 2.0 and 2.1, as well as .NET Standard 1.3, 1.6, 2.0 and 2.1."
docs/_pages/assemblies.md:10:If you're running .NET 4.5 or .NET Standard 2.0, you have access to methods to assert an assembly does or does not reference another assembly.
docs/_pages/introduction.md:66:and you're running under .NET 4.5 or a .NET Standard 2.0 project
docs/_pages/introduction.md:71:

no longer needed nuget packages

Build/_build.csproj:14:
Build/_build.csproj:15:

file that needs renaming

./Tests/TestFrameworks/NSpec3.Net47.Specs/NSpec3.Net45.Specs.v3.ncrunchproject

@dennisdoomen
Copy link
Member Author

I don't think I understand the NetStandardReflector/FullFrameworkReflector changes.
Did something not work before?
Before only netstandard16 used the NetStandardReflector which seems to be the only file that has a dependency on Microsoft.Extensions.DependencyModel.
Now many more targets use NetStandardReflector and hence gets an extra dependency.

Good point. After further investigation, I discovered that all the targeted frameworks can work with the FullFrameworkReflector, so there's no need for the NetStandardReflector anymore, and thus no need for that dependency

@dennisdoomen
Copy link
Member Author

dennisdoomen commented Jan 12, 2020

preprocessor directives in Specs

I'll do that in a separate PR

mentions of removed test frameworks

Same here.

docs that needs updates regarding target frameworks/test frameworks

Fixed

@dennisdoomen dennisdoomen force-pushed the Refactor/DeprecateOlderFrameworks branch 8 times, most recently from 1bdebf4 to aefdc0d Compare January 12, 2020 18:58
@dennisdoomen dennisdoomen requested a review from jnyrup January 13, 2020 19:47
Copy link
Member

@jnyrup jnyrup left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe for a different PR, but have you given
#902 a thought?
It would require System.Memory nuget for net47 and netstandard2.0

@dennisdoomen dennisdoomen force-pushed the Refactor/DeprecateOlderFrameworks branch from aefdc0d to ac54091 Compare January 16, 2020 05:20
@dennisdoomen dennisdoomen requested a review from jnyrup January 16, 2020 05:20
Copy link
Member

@jnyrup jnyrup left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Once the netstandard2.0.approved.txt is updated, I'm good.

Removes support for NSpec 1 and 2, MSTest 1. XUnit 1,
Removes support for .NET 4.5, .NET Standard 1.3 and 1.6.
@dennisdoomen dennisdoomen force-pushed the Refactor/DeprecateOlderFrameworks branch from ac54091 to e4c75a3 Compare January 16, 2020 10:35
@dennisdoomen
Copy link
Member Author

Once the netstandard2.0.approved.txt is updated, I'm good.

Sloppy me ;-)

@dennisdoomen dennisdoomen merged commit 0f7a80b into fluentassertions:develop Jan 16, 2020
@dennisdoomen dennisdoomen deleted the Refactor/DeprecateOlderFrameworks branch January 16, 2020 10:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants