FakeItEasy v5.0.0 Release Notes
Release Date: 2019-01-07 // over 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
toIInterceptionListener.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 toIBehaviorLifetimeConfiguration
(#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)
👉 UseRaise.FreeForm.With
(orRaise.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:
- Adam Ralph - @adamralph