github FakeItEasy/FakeItEasy 5.0.0

latest releases: 8.2.0, 8.1.0, 8.0.1...
5 years ago

New

  • Greatly reduced time to create, configure, call, and assert on Fakes (#1466, #1469, #1470, #1489, #1493, #1507)
  • Warn at configuration time that delegates can't call a base method (#1492)

Changed

  • No longer passing IFakeObjectCallRule to IInterceptionListener.OnAfterCallIntercepted (#1494, #1521)
  • Restrict typeparams in generic Fake creation methods to reference types, and free-form delegates to Delegate types (#1465)
  • Renamed IRepeatConfiguration type used in fluent API to IBehaviorLifetimeConfiguration (#1294)
  • Can only fake delegates accessible to DynamicProxy (#1508)
  • Fakes, and custom exceptions thrown by the library, are no longer binary serializable (#1500)

Removed from the public API

  • Automatic fake injection into system under test (InitializeFixture) (#992)
  • IInterceptedFakeObjectCall.AsReadOnly (#1505)
  • Raise.With<TEventHandler> (#1152)
    Use Raise.FreeForm.With (or Raise.FreeForm(Of TEventHandler).With for VB) instead.
  • Analyzer meta-package FakeItEasy.Analyzer (#1509)
    Use FakeItEasy.Analyzer.CSharp or FakeItEasy.Analyzer.VisualBasic instead

Deprecated

  • Specifying call count constraints using Repeated (#1295)
    Use one of the following formats instead:
    A.CallTo(() => foo.Bar()).MustHaveHappened();
    A.CallTo(() => foo.Bar()).MustNotHaveHappened();
    
    A.CallTo(() => foo.Bar()).MustHaveHappenedOnceExactly();
    A.CallTo(() => foo.Bar()).MustHaveHappenedOnceOrMore();
    A.CallTo(() => foo.Bar()).MustHaveHappenedOnceOrLess();
    
    A.CallTo(() => foo.Bar()).MustHaveHappenedTwiceExactly();
    A.CallTo(() => foo.Bar()).MustHaveHappenedTwiceOrMore();
    A.CallTo(() => foo.Bar()).MustHaveHappenedTwiceOrLess();
    
    A.CallTo(() => foo.Bar()).MustHaveHappened(4, Times.Exactly);
    A.CallTo(() => foo.Bar()).MustHaveHappened(6, Times.OrMore);
    A.CallTo(() => foo.Bar()).MustHaveHappened(7, Times.OrLess);
    
    A.CallTo(() => foo.Bar()).MustHaveHappenedANumberOfTimesMatching(n => n % 2 == 0);

Additional Items

  • Drop GitFlow in favour of GitHub flow (#1487)
  • Small improvements to prepare_release command (#1538, #1539, #1540)
  • Correct documentation on return value when Invokes is used (#1552, #1553)
  • Very explicitly state how to invoke custom calls for methods that take more than 4 arguments (#1496)
  • Document advanced usage methods (#1474)
  • Simplify ServiceLocator (#1478)
  • Move most proxy generator tests to specs (#1495)
  • Characterize/figure out serialization support (#1499)
  • Upgrade Bullseye to 2.3.0-beta.6 (#1464, #1471, #1524, #1528, #1531, #1534)
  • Upgrade Xbehave.Core to 2.4.0 (#1480)
  • Upgrade SimpleExec to 4.2.0 (#1502, #1531)
  • Upgrade Microsoft.NET.Test.Sdk to 15.9.0 (#1482)
  • Use MinVer to generate version numbers (#1516)
  • Refactored build script (#1520, #1523)
  • Show messages only (no stack trace) for exceptions during build (#1529)
  • Remove MonoDevelop section from sln (#1533)
  • Remove obsolete branches from the repository (#1535)

With special thanks for contributions to this release from:

Don't miss a new FakeItEasy release

NewReleases is sending notifications on new releases.