New
-
Support for .NET Standard 1.6, including .NET Core 1.0 (#531)
Some functionality available in the .NET 4.0 assembly is not available in the .NET Standard assembly.
In particular, note that:- Fakes will not be binary serializable
SelfInitializedFakes
(e.g.fakeService = A.Fake<ILibraryService>(options => options.Wrapping(realService).RecordedBy(recorder)
) are not supported
-
New syntax (
Then
) to configure successive calls to the same member. (#803):A.CallTo(() => foo.Bar()).Returns(0).Twice() .Then.Throws<InvalidOperationException>().Once() .Then.Returns(1);
-
Automatic cancellation support #904
Methods that accept a
CancellationToken
will now automatically throw anOperationCanceledException
(or return a canceled task, for async methods) when they receive a canceled token. -
Add a
ThrowsAsync
method to return a failed task rather than directly throw an exception (#932) -
Add
CallsToSet
to unnatural fakes (Fake<T>
) (#838) -
Using Castle.Core 4.0.0, with .NET Core support (#974)
-
[Analyzer] Add an analyzer that supports VB.NET (#952)
Changed
-
WithAdditionalAttributes
Fake configuration option is replaced byWithAttributes
(#436):var foo = A.Fake<IFoo>(x => x.WithAttributes(() => new FooAttribute()));
-
IAfterCallSpecifiedConfiguration
is renamed toIAfterCallConfiguredConfiguration
(#910) -
Default read/write property behavior no longer overrides explicit configuration of getter and setter (#962)
-
Hide
object
members on several fluent API interfaces (#944) -
Deprecated
RecordedBy
method as well as types that support self-initializing Fakes. To be removed in 4.0.0 (#820)
Fixed
- Faking a type multiple times and applying different attributes to the fakes now correctly generates different fake types. (#436)
- All non-void members attempt to return a Dummy by default, even after being reconfigured by
Invokes
orDoesNothing
(#830)
Removed from public API
IStartConfiguration<T>
. It had been always been intended for internal use only. (#864)
With special thanks for contributions to this release from:
- Artem Zinenko - @ar7z1
- Christian Merat - @cmerat
- Jeremy Meng - @jeremymeng, who performed the lion's share of the .NET Core conversion
- Jonathon Rossi - @jonorossi
- @thunderbird55