- Updated FracturedJson from 4.0.2 to 4.0.3
- Updated YamlDotNet from 16.0.0 to 16.1.3
- Added
seq<string>
assertionsBeAscendingBy
andBeDescendingBy
withStringComparison
,CultureInfo
andCompareOptions
parameters
- Added
seq<string>
assertionsBeAscending
andBeDescending
withStringComparison
,CultureInfo
andCompareOptions
parameters
- Reduced the required FSharp.Core version from 7.0.400 to 5.0.2
- Breaking: All higher-order assertions except
NotSatisfy
now fail withAssertionFailedException
if the assertion throws any exception. Previously, these assertions let exceptions other thanAssertionFailedException
bubble up. The following assertions are affected:Satisfy
SatisfyAny
SatisfyAll
AllSatisfy
SatisfyRespectively
HaveStringContentSatisfying
- Added a
BeOneOf
overload that instead ofseq<'a>
acceptsseq<'a * 'b>
and returns the associated second item as the derived state.
- Breaking: The
HttpResponseMessage
assertionHaveStringContentSatisfying
now returns the innerAsync<_>
value instead ofAsync<unit>
. This allows using this assertion to return values derived from the HTTP content, while still getting the full request/response formatting for inner assertion failures. - Added
string
assertionDeserializeTo
- Fixed
BeJsonEquivalentTo
erroneously failing for long lines
- Breaking: Updated YamlDotNet from 15.1.2 to 16.0.0. See this page for breaking changes.
- Updated FSharp.SystemTextJson from 1.2.42 to 1.3.13
- Updated FracturedJson from 3.1.1 to 4.0.2
- Added
string
assertionBeJsonEquivalentTo
- Added
HttpResponseMessage
assertionHaveStringContentSatisfying
. Note that this is async and therefore not chainable. - The
HttpResponseMessage
assertionsHaveHeader
andHaveHeaderValue
now correctly detects content headers such asContent-Type
(which are set onHttpContent
and notHttpResponseMessage
)
- Added
FaqtConfig.SetMapHttpHeaderValues
to set a function that can map HTTP header values (e.g. for maskingAuthorization
headers).
- Fixed subject name when using
_.Should()
- On .NET 8,
Map<_, _>
now serializes as an object (not array) for non-string
key types ( usingWithMapFormat(MapFormat.Object)
in FSharp.SystemTextJson)
- Fixed rare bug relating to race conditions
- Updated YamlDotNet from 15.1.0 to 15.1.2
- Updated FracturedJson from 3.1.0 to 3.1.1
- Added
seq<_>
assertionsContainAtMostOneItem
andContainAtMostOneItemMatching
- Removed
let
/use
/do
from the start of the subject name (e.g. when binding.Subject
or.Derived
)
- Fixed incorrect subject name when
.Should
was placed right afterWhoseValue
- Updated YamlDotNet from 13.3.1 to 15.1.0
- Now gives correct subject names for the new F# 8 shorthand lambda syntax
- Balanced parentheses are now removed from the subject name. For example,
(Some 1).Should()...
will now give the subject nameSome 1
instead of(Some 1)
.
- Added
seq<_>
assertionNotContainItemsMatching
- Made some accidentally public modules
internal
. This is strictly speaking a breaking change, but hopefully no-one was using them.
- Added
seq<_>
assertionsAllBeMappedTo
,AllBeEqual
, andAllBeEqualBy
- Added
IDictionary<_, _>
assertionContainKeys
- Added
Roundtrip
assertions for function subjects ('a -> 'a
,'a -> 'a option
, and'a -> Result<'a, 'b>
) - Byte arrays and other byte sequences are now formatted using
Convert.ToHexString
- Initial stable release
- Initial release candidate
- New proof-of-concept release with improvements to general features
- Initial proof-of-concept release with few assertions but otherwise all features