Skip to content

Releases: FakeItEasy/FakeItEasy

4.7.1

06 Jul 10:14
ce8ea2a
Compare
Choose a tag to compare

Fixed

  • Faked delegates with in parameters don't honor the read-only semantics (#1388)
  • Faked types with in parameters don't honor the read-only semantics under .NET Framework (#1390)
  • Attempts to assign values to in parameters are silently ignored #1391 (#1391)

With special thanks for contributions to this release from:

4.7.0

03 Jul 10:36
9125484
Compare
Choose a tag to compare

New

  • Avoid asking proxy generators to create Fakes that they can't (#1355, #1365)
  • Improve Dummy and Fake constructor caching (#1359)
  • Change wording when referring to parameterless constructors during failed fake creation (#1373 )
  • Allow faking of non-generic types with methods that have in parameters (#1338)
  • Provide better feedback when user-supplied callbacks (call matchers, argument formatters, and the like) throw (#1341, #1385)

Additional Items

With special thanks for contributions to this release:

4.6.0

14 May 10:45
329cc9c
Compare
Choose a tag to compare

New

  • Resolve Fakes' constructor arguments lazily (#1350)

Fixed

  • EqualityArgumentConstraint doesn't use argument value formatters (#1343)
  • Protect against exceptions when resolving constructor arguments for Fake/Dummy creation (#1348)
    As a side effect, restores the ability to create a string Dummy under dotnet core 2.1 RC1.

Additional Items

  • Stop trying to run coverity builds (#1334)
  • Document limitations of working with ref returns or in parameters (#1337)
  • Remove internal GenerateProxy overload that doesn't take attribute list (#1352)

With special thanks for contributions to this release from:

4.5.1

28 Feb 11:26
04fe023
Compare
Choose a tag to compare

Fixed

  • RepeatedAssertionAnalyzer throws NullReferenceException when encountering an expression with no type (such as nameof(symbol)) (#1328)

Additional Items

  • Document that delegates can be faked (#1320)
  • Fixed typo in documentation for Asserting Calls Made with Mutable Arguments (#1322)
  • Remove retired .nuget Solution Items (#1324)
  • Stop reporting tests to AppVeyor (#1326)

With special thanks for contributions to this release from:

4.5.0

19 Feb 16:11
49e6d78
Compare
Choose a tag to compare

New

  • Code fix provider to convert assertions using the legacy Repeated class to the new API (#1297, #1309)
    Includes one-click "fix all issues in solution".

Fixed

  • CallToSet fails when configuring a setter defined on a base interface (broken in 4.4.0) (#1316)

Additional Items

  • [Analyzer] Quelled SA0001 warning (xml comment analysis disabled) (#1308)
  • Changed ProGit book link with expired certificate (#1311)
  • Found a better way to describe a call than making an ExpressionCallMatcher (#684)
  • Enable code analysis via Microsoft.CodeAnalysis.FxCopAnalyzers (#1144)
  • Write call constraint description to writer instead of building string first (#1313)
  • Remove unnecessary Module class (#1315)
  • Make CallConstraintDescriber static (#1314)

With special thanks for contributions to this release from:

4.4.0

06 Feb 11:42
7f67065
Compare
Choose a tag to compare

Changed

New

  • Make descriptions of calls to property accessors more consistent (#1299)
  • New API for asserting completed calls (#1292, #1300)
    Replaces calls that used the Repeated class, which will be deprecated in version 5.0.0 and removed in 6.0.0.
    Here's the new API:
    A.CallTo(() => fake.Method()).MustHaveHappened()    // as today
    A.CallTo(() => fake.Method()).MustNotHaveHappened() // as today
    
    A.CallTo(() => fake.Method()).MustHaveHappenedOnceExactly()
    A.CallTo(() => fake.Method()).MustHaveHappenedOnceOrMore()
    A.CallTo(() => fake.Method()).MustHaveHappenedOnceOrLess()
    
    A.CallTo(() => fake.Method()).MustHaveHappenedTwiceExactly()
    A.CallTo(() => fake.Method()).MustHaveHappenedTwiceOrMore()
    A.CallTo(() => fake.Method()).MustHaveHappenedTwiceOrLess()
    
    A.CallTo(() => fake.Method()).MustHaveHappened(3, Times.Exactly)
    A.CallTo(() => fake.Method()).MustHaveHappened(3, Times.OrMore)
    A.CallTo(() => fake.Method()).MustHaveHappened(3, Times.OrLess)
    
    A.CallTo(() => fake.Method()).MustHaveHappenedANumberOfTimesMatching(n => n %2 == 0)

Fixed

  • Inconsistent wording for call count in assertion error messages (#1278)
  • Raise.FreeForm.With is not available from VB.Net and our only alternative is deprecated (#1287)
    Created Raise.FreeForm<TEventHandler>.With that can be used from Visual Basic
  • Word "repeated" in assertion failure messages may mislead reader (#1290)
  • Call description is wrong when asserting a call to a property setter (#1298)

Additional Items

  • Simplify analyzers packaging (#1283)
  • Document Raise.FreeForm.With limitation and dependency (#1286)
  • Upgrade to StyleCop.Analyzers 1.1.0-beta006 (#1304)

With special thanks for contributions to this release from:

4.3.0

06 Dec 11:51
081e987
Compare
Choose a tag to compare

Changed

New

  • WithVoidReturnType method (#1272)

Fixed

  • Updating to 4.2.0 removes the analyzer from the project file (#1263)

Additional Items

  • Fix automatic NuGet deployment (#1262)
  • Use simple-targets-csx 6.0.0 (#1266)
  • Moved mkdocs.yml back to root to fix documentation rendering (#1267)
  • Use favicon in the docs (#1269)

With special thanks for contributions to this release from:

4.2.0

08 Nov 02:38
3a7c9ff
Compare
Choose a tag to compare

New

  • Detect wrong argument constraint type at runtime (#1237)

Fixed

  • Interface method does not have an implementation exception (#1257)
    (Specifically when faking an interface that has an overloaded method where the parameters in each method are a generic type.)

Additional Items

  • Unnecessary reference causes compilation error in prepare_release.csx (#1242)
  • Remove requirement for two people to participate in release activities (#1244)
  • Fix warning BC40057 in FakeItEasy.IntegrationTests.VB when TargetFramework is netcoreapp1.0 (#1197)
  • Upgrade to build with .NET Core SDK 2.0.2 (#1247)
  • Unclutter the root directory (#1249)
  • Update to simple-targets-csx 5.3.0 (#1252)
  • Document ref argument matching (#1123)
  • Change "behaviour" to "behavior" throughout docs (#1256)

With special thanks for contributions to this release from:

4.1.1

18 Oct 23:32
Compare
Choose a tag to compare

Fixed

  • False positive nested constraint exception when using an argument constraint of the wrong type (#1230)
  • Complex nested constraint is not detected (#1232)

Additional Items

  • prepare_release now creates release issue with proper labels (#1226)

With special thanks for contributions to this release from:

4.1.0

10 Oct 16:38
Compare
Choose a tag to compare

New

  • Enhance formatting of received enumerable arguments in "unmatched call" output (#1193)
  • Improve consistency of argument value formatting (#1196)
  • AssemblyVersion only includes major version, to avoid assembly binding issues (so it's 4.0.0.0 at the time of this release) (#1209)
  • Add params array overload for IsSameSequenceAs (#1194)
  • Upgrade to Castle.Core 4.2.0 (#1210)
  • [Analyzer] FakeItEasy.Analyzer description points toward C#/VB.NET packages (#1174)
  • [Analyzer] new diagnostic (FakeItEasy0005) and code fix for argument constraint type mismatch (#1163)
  • [Analyzer] diagnostic FakeItEasy0002 is now an error, not a warning (#1203)

Fixed

  • Throw error when argument constraint That (or Ignored, or _) is nested deeper in A.CallTo, instead of misbehaving (#1177)
  • [Analyzer] False positive for FakeItEasy0003 (argument constraint not valid outside call specification) when constraint does not compile (#1202)

Additional Items

  • Automatically attach artifacts to GitHub release (#1171, #1183)
  • Have AppVeyor detect build failure (#1189)
  • Migrate VB.NET projects to SDK-style projects (#1185)
  • Use Directory.Build.props for common build properties (#1198)
  • Use MSBuild binary logger (#1205)
  • Have MSBuild build in parallel (#1216)
  • Improve WhenArgumentsMatch documentation (#1200)
  • Automate portions of release preparation (#1218)

With special thanks for contributions to this release from: