Skip to content

Releases: FakeItEasy/FakeItEasy

4.0.0

27 Jul 12:32
Compare
Choose a tag to compare

Changed

  • Don't expose Not after Not in argument constraint (#1063)

Removed from the public API

  • FakeObjectCallExtensions.Write and FakeObjectCallExtensions.WriteToConsole (#1043)
  • Self-initialized fakes (accessed via the RecordedBy fake option) (#798)
  • ITaggable, which was an internal implementation detail (#1012)

Deprecated

  • Automatic fake injection into systems under test via Fake.InitializeFixture (#1102)
  • Raise.With<TEventHandler> (#1153)
    • Use Raise.Freeform.With instead

New

  • Allow AssignsOutAndRefParameters on a non-void member without first specifying Returns (#1134)
  • Support raising events for arbitrary delegates without requiring a typeparam in the call (Raise.Freeform.With) (#987)
  • [Analyzer] Split C# and VB.NET analyzers into two separate packages (#1148)
  • [Analyzer] FakeItEasy0004 diagnostic for argument constraint with non-nullable type instead of nullable type (#1060)
  • Outgoing arguments exposed as ICompletedFakeObjectCall.ArgumentsAfterCall (#1140)

Fixed

  • Sometimes an expectation fails, but the error message lists the expected call (#1159)
  • FakeItEasy not working with .NET Core 2.0 Preview 2 (#1158)
  • 4.0.0-beta001 analyzers pull too many dependencies (#1167)

Additional Items

  • Simplify Fixture Initializer code (#1120)
  • Renamed some FakeOptionsExtensions methods' optionsBuilders parameters to options (#1122)
  • Implement system to ensure nupkg references are consistent with assembly references (#1133, #1146)
  • Automatic NuGet deployment when tag is pushed (#1039)

With special thanks for contributions to this release from:

4.0.0-beta001

09 Jul 12:10
Compare
Choose a tag to compare
4.0.0-beta001 Pre-release
Pre-release

Changed

  • Don't expose Not after Not in argument constraint (#1063)

Removed from the public API

  • FakeObjectCallExtensions.Write and FakeObjectCallExtensions.WriteToConsole (#1043)
  • Self-initialized fakes (accessed via the RecordedBy fake option) (#798)
  • ITaggable, which was an internal implementation detail (#1012)

Deprecated

  • Automatic fake injection into systems under test via Fake.InitializeFixture (#1102)
  • Raise.With<TEventHandler> (#1153)
    • Use Raise.Freeform.With instead

New

  • Allow AssignsOutAndRefParameters on a non-void member without first specifying Returns (#1134)
  • Support raising events for arbitrary delegates without requiring a typeparam in the call (Raise.Freeform.With) (#987)
  • [Analyzer] Split C# and VB.NET analyzers into two separate packages (#1148)
  • [Analyzer] FakeItEasy0004 diagnostic for argument constraint with non-nullable type instead of nullable type (#1060)
  • Outgoing arguments exposed as ICompletedFakeObjectCall.ArgumentsAfterCall (#1140)

Fixed

  • Sometimes an expectation fails, but the error message lists the expected call (#1159)
  • FakeItEasy not working with .NET Core 2.0 Preview 2 (#1158)

Additional Items

  • Simplify Fixture Initializer code (#1120)
  • Renamed some FakeOptionsExtensions method's optionsBuilders paremeters to options (#1122)
  • Implement system to ensure nupkg references are consistent with assembly references (#1133, #1146)
  • Automatic NuGet deployment when tag is pushed (#1039)

With special thanks for contributions to this release from:

3.4.2

19 Jun 10:10
Compare
Choose a tag to compare

Fixed

  • Setting ref argument values masks incoming argument values used to verify calls (#1124)

With special thanks for contributions to this release from:

3.4.1

15 Jun 11:53
Compare
Choose a tag to compare

Fixed

  • Could not load file or assembly Castle.Core, Version=4.1.0.0 (#1126)

With special thanks for contributions to this release from:

3.4.0

15 Jun 11:38
Compare
Choose a tag to compare

New

  • New assembly targeting .NET 4.5
    • Event arguments need not extend EventArgs in event raisers when targeting .NET 4.5 (#1008)
  • More nuanced error messages on ReflectionTypeLoadException when loading extension points (#1092)
  • RuleBuilder.MustHaveHappened builds call description lazily (#796)
  • Improved message when trying to configure non-virtual members (#1111)
  • Improved message when trying to configure inaccessible methods (#341)
  • [Analyzer] Improved diagnostic when trying to configure non-virtual (or non-overrideable in VisualBasic) members (#1111)
  • [Analyzer] Analyzer targets .NET Standard (#833)

Additional Items

  • Replace StyleCop.MSBuild with StyleCop.Analyzers (#996)
  • Collapse netstd/framework packages (#991)
  • Migrate to VS2017 and new csproj format (#1059, #1100)
  • "External" assembly used for integration tests now dynamically generated (#1094)
  • Suppress console output from TypeCatalogueTests (#1093)
  • Publish artifacts even when the build fails (#1099)
  • Fixed build script for machines without VS2015 (#1113)
  • Use GitVersion to calculate version numbers (#1046)

With special thanks for contributions to this release from:

3.3.2

04 May 20:33
Compare
Choose a tag to compare

Fixed

  • Wrong diagnostic id for FakeItEasy0003 (argument constraint outside call specification) (#1083)

3.3.1

04 May 20:44
Compare
Choose a tag to compare

Fixed

  • FakeItEasy003 false positive when returning argument constraint from helper method (#1076)

Additional Items

  • Switched to GitFlow (#955)

3.3.0

04 May 10:09
Compare
Choose a tag to compare

New

  • [Analyzer] diagnostic for use of argument constraints outside of a call specification (#1005)
  • Add That.IsNotNull argument constraint (and That.IsNull for nullable types) (#1062, #1071)
  • Indicate parameter names in unmatched call messages (#621)
  • Use quotation marks consistently in messages (#1011)
  • In error messages, name the method that can't be intercepted (#786)
  • Use CLR formatting rather than C# formatting when describing types (#1047)

Fixed

  • [Analyzer] Non-Virtual Setup Analyzer gives false positive when complex argument constraint used in indexer (#1072)

Additional Items

  • Register IFakeAndDummyManager as a singleton (#769, #1054)
  • Reduce temporary objects created when making dummies (#1053)
  • [Analyzer] Simplified code in "unused call specification" and "non-virtual member configuration" analyzers (#1066)
  • Improve CreationSpecsBase test hierarchy's threadsafety (#1069)

3.2.0

05 Apr 10:09
Compare
Choose a tag to compare

New

  • When user attempts to configure a non-Fake, indicate which object was used (#530)
  • Fake.ClearRecordedCalls(fake) clears recorded calls on a fake (#978)
  • Strongly typed overloads for WhenArgumentsMatch (#1021, #1034)
  • Fully describing non-configured method called on strict Fake (#492)

Deprecated

  • FakeObjectCallExtensions.Write and FakeObjectCallExtensions.WriteToConsole (#1030)

Additional Items

  • Drop resource files and move message strings to the code (#1017)
  • Running nightly Coverity Scan static analysis (no outstanding defects) (#434)
  • Enable parallel testing in Unit and Integration tests and Specs (#774, #1029, #1031)
  • Make all creation option and dummy creation specs cover generic and non-generic creation (#1036)
  • Fake<T> no longer implements (internal) interface IStartConfiguration<T> (#959)

With special thanks for contributions to this release from:

3.1.0

10 Mar 10:57
Compare
Choose a tag to compare

New

  • No longer attempting to instantiate open generic types when searching for bootstrappers and extension points (#523)
  • EventHandlers' event arguments no longer need to extend EventArgs in event raisers for the .NET Standard library (still required for the .NET 4.0 library) (#361)
  • Default fake behavior for ToString() produces the same type format as Object.ToString() (#994)
  • Using current culture for all string formatting (#399)

Fixed

  • NullReferenceException thrown when passing null to method that accepts a nullable argument but matching against non-nullable variant (#660)
  • Exception messages refer to the long-removed IFakeObjectContainer class (#757)
  • Describing a call fails when the ToString() of an argument throws an exception (#457)

Additional Items

  • Now using simple-targets-csx to build, instead of rake (#645)
  • Add missing tests for UnusedReturnValueAnalyzer (#765)
  • Improved docs:
    • Added .NET Standard 1.6 as supported platform (#999)
    • Platform support page now points at NuGet package page (#1010)
    • Various improvements to CONTRIBUTING.md (#1003, #1004)

With special thanks for contributions to this release from: