Releases: FakeItEasy/FakeItEasy
Releases · FakeItEasy/FakeItEasy
4.0.0
Changed
- Don't expose
Not
afterNot
in argument constraint (#1063)
Removed from the public API
FakeObjectCallExtensions.Write
andFakeObjectCallExtensions.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
- Use
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 tooptions
(#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:
- Alexander Sidorov - @siberianguy
- Christian Maslen - @cmaslen
- Milo Farrell - milo.farrell on StackOverflow
4.0.0-beta001
Changed
- Don't expose Not after Not in argument constraint (#1063)
Removed from the public API
FakeObjectCallExtensions.Write
andFakeObjectCallExtensions.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
- Use
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'soptionsBuilders
paremeters tooptions
(#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:
- Alexander Sidorov - @siberianguy
- Christian Maslen - @cmaslen
3.4.2
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
Fixed
- Could not load file or assembly Castle.Core, Version=4.1.0.0 (#1126)
With special thanks for contributions to this release from:
- Toby Henderson - @holytshirt
3.4.0
New
- New assembly targeting .NET 4.5
- Event arguments need not extend
EventArgs
in event raisers when targeting .NET 4.5 (#1008)
- Event arguments need not extend
- 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:
- Chris Matheson - @chrismatheson
3.3.2
3.3.1
3.3.0
New
- [Analyzer] diagnostic for use of argument constraints outside of a call specification (#1005)
- Add
That.IsNotNull
argument constraint (andThat.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
3.2.0
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
andFakeObjectCallExtensions.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) interfaceIStartConfiguration<T>
(#959)
With special thanks for contributions to this release from:
- Erik Källén - @erik-kallen
- Junle Li - @lijunle
- rocifier - @rocifier
- Coverity
3.1.0
New
- No longer attempting to instantiate open generic types when searching for bootstrappers and extension points (#523)
EventHandler
s' event arguments no longer need to extendEventArgs
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 asObject.ToString()
(#994) - Using current culture for all string formatting (#399)
Fixed
NullReferenceException
thrown when passingnull
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:
With special thanks for contributions to this release from:
- Claudio Bernasconi - @claudiobernasconi
- Matthew Edmondson - @medmondson
- Patrick Schwarz - @Inspyro
- Tim Lovell-Smith - @TimLovellSmith