{"id":3178,"date":"2025-09-25T14:21:59","date_gmt":"2025-09-25T14:21:59","guid":{"rendered":"https:\/\/xceed.com\/?p=3178"},"modified":"2026-08-26T14:58:31","modified_gmt":"2026-08-26T18:58:31","slug":"fluent-assertions-8-7-is-live","status":"publish","type":"post","link":"https:\/\/xceed.com\/fr\/blog\/releases\/fluent-assertions-8-7-is-live\/","title":{"rendered":"Fluent Assertions 8.7 est disponible"},"content":{"rendered":"<h1 class=\"wp-block-heading\">JSON-native asserts and sharper object graph comparisons<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Fluent Assertions 8.7.0 is here, and it\u2019s a meaningful step forward for teams testing JSON APIs and deep object graphs. This release brings <strong>first-class System.Text.Json support<\/strong>, upgrades to <strong>BeEquivalentTo precision<\/strong>, and a new way to validate <strong>exception messages<\/strong>. The net effect: fewer brittle diffs, more resilient test suites, and clearer intent in your specs.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Why it matters<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>JSON-native assertions<\/strong> \u2013 Directly assert structure, types, and values on JsonNode and JsonArray.<\/li>\n\n\n\n<li><strong>Sharper object graph equivalence<\/strong> \u2013 Fine-tune strict typing, member selection, and mapping for DTO vs. domain comparisons.<\/li>\n\n\n\n<li><strong>Cleaner exception specs<\/strong> \u2013 Use WithoutMessage to guarantee an exception message doesn\u2019t match unwanted patterns.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">JSON support<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">JSON payloads are now first-class citizens in your tests.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code data-no-translation=\"\">var node = JsonNode.Parse(\"{ \\\"name\\\": \\\"Product\\\", \\\"price\\\": 99.99 }\");\n\nnode.Should().BeEquivalentTo(new { name = \"Product\", price = 99.99 });\nnode.Should().HaveProperty(\"name\").Which.ToString().Should().Be(\"Product\");\nnode.Should().NotHaveProperty(\"code\");\n\nJsonArray array = JsonNode.Parse(\"&#91;1, 2, 3]\")!.AsArray();\narray.Should().NotBeEmpty();<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Helpers like BeString, BeNumeric, BeBool, BeUtcDate, and BeAnArray make intent obvious at a glance. If casing differs, use IgnoringJsonPropertyCasing().<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Object graph equivalence upgrades<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">BeEquivalentTo gets more precise, giving you surgical control over equivalence checks.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Strict typing controls<\/strong>\n<ul class=\"wp-block-list\">\n<li>WithStrictTyping \u2192 enforce across the whole graph<\/li>\n\n\n\n<li>WithStrictTypingFor \u2192 target specific paths<\/li>\n\n\n\n<li>WithoutStrictTyping \u2192 override globally<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Runtime vs. declared types<\/strong>\n<ul class=\"wp-block-list\">\n<li>PreferringRuntimeMemberTypes() or PreferringDeclaredMemberTypes()<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Member selection &amp; mapping<\/strong>\n<ul class=\"wp-block-list\">\n<li>Exclude noisy properties<\/li>\n\n\n\n<li>Align mismatched names with WithMapping<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Enums by name<\/strong>\n<ul class=\"wp-block-list\">\n<li>ComparingEnumsByName() avoids numeric mismatches<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Collections<\/strong>\n<ul class=\"wp-block-list\">\n<li>AllBeEquivalentTo makes asserting homogeneous sets trivial<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Exception assertions<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A new option: WithoutMessage. This ensures an exception\u2019s message <strong>does not<\/strong> contain a given wildcard pattern\u2014handy for privacy requirements or sanitizing user-facing error messages.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Practical test design tips<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Start strict where regressions matter most; keep the rest flexible.<\/li>\n\n\n\n<li>Use mapping to stabilize DTO\/domain differences without rewriting models.<\/li>\n\n\n\n<li>Prefer runtime member types when dealing with proxies or dynamic types.<\/li>\n\n\n\n<li>Use JSON-native asserts for API tests; keep BeEquivalentTo for structural comparisons.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Release rollup (8.7 \u2192 8.1)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Recent highlights worth noting:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-primary-color\">8.6.0<\/mark><\/strong> \u2013 Value.ThatMatches and ThatSatisfies for inline assertions.<\/li>\n\n\n\n<li><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-primary-color\">8.5.0<\/mark><\/strong> \u2013 WithStrictTyping and WithStrictTypingFor.<\/li>\n\n\n\n<li><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-primary-color\">8.4.0<\/mark><\/strong> \u2013 ExcludingMembersNamed and new exception helpers.<\/li>\n\n\n\n<li><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-primary-color\">8.3.0<\/mark><\/strong> \u2013 Better date\/time and exception message rendering.<\/li>\n\n\n\n<li><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-primary-color\">8.1.x<\/mark><\/strong> \u2013 Fixes for dictionary formatting, NRT annotations, async task handling.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-primary-color\"><a href=\"https:\/\/fluentassertions.com\/releases\/\">Full release notes \u2192<\/a><\/mark><\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Get started<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Upgrade to <strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-primary-color\">8.7.0<\/mark><\/strong> in your test project.<\/li>\n\n\n\n<li>Review BeEquivalentTo usages \u2014 add strict typing where intent matters.<\/li>\n\n\n\n<li>Switch to JSON-native asserts for clearer, more resilient API tests.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>","protected":false},"excerpt":{"rendered":"<p>La version 8.7.0 rend les tests d'API et de graphes d'objets moins fragiles. Vous pouvez d\u00e9sormais faire des assertions directement sur JsonNode et JsonArray, ajuster BeEquivalentTo avec une typisation stricte et un mappage de membres, et utiliser WithoutMessage pour bloquer le texte d'exception ind\u00e9sirable. Intention plus claire, moins de diff\u00e9rences, des tests plus fiables.<\/p>","protected":false},"author":12,"featured_media":3179,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[78,50],"tags":[372,369,367,360,366,371,353,359,362,363,365,370,368,361,364],"products":[793],"class_list":["post-3178","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-release-notes","category-releases","tag-apitesting","tag-cleancode","tag-codequality","tag-csharp","tag-developertools","tag-devtips","tag-dotnet-2","tag-fluentassertions-2","tag-json","tag-objectgraph","tag-opensource","tag-programming","tag-softwaretesting","tag-testautomation","tag-unittesting-2","products-fluent-assertions"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Fluent Assertions 8.7 is live - Xceed Software<\/title>\n<meta name=\"description\" content=\"Discover what\u2019s new in Fluent Assertions 8.7\u2014JSON-native asserts, strict object graph equivalence, and improved exception testing for more resilient .NET test suites.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/xceed.com\/fr\/blog\/liberations\/fluent-assertions-8-7-is-live\/\" \/>\n<meta property=\"og:locale\" content=\"fr_CA\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Fluent Assertions 8.7 is live - Xceed Software\" \/>\n<meta property=\"og:description\" content=\"Discover what\u2019s new in Fluent Assertions 8.7\u2014JSON-native asserts, strict object graph equivalence, and improved exception testing for more resilient .NET test suites.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/xceed.com\/fr\/blog\/liberations\/fluent-assertions-8-7-is-live\/\" \/>\n<meta property=\"og:site_name\" content=\"Xceed Software\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-25T14:21:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-26T18:58:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/xceed.com\/wp-content\/uploads\/2025\/09\/4.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Christopher Radford\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Christopher Radford\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/releases\\\/fluent-assertions-8-7-is-live\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/releases\\\/fluent-assertions-8-7-is-live\\\/\"},\"author\":{\"name\":\"Christopher Radford\",\"@id\":\"https:\\\/\\\/xceed.com\\\/fr\\\/#\\\/schema\\\/person\\\/79a6cce48b70a88e6701fef086d7c351\"},\"headline\":\"Fluent Assertions 8.7 is live\",\"datePublished\":\"2025-09-25T14:21:59+00:00\",\"dateModified\":\"2026-08-26T18:58:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/releases\\\/fluent-assertions-8-7-is-live\\\/\"},\"wordCount\":349,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/fr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/releases\\\/fluent-assertions-8-7-is-live\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/xceed.com\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/4.png\",\"keywords\":[\"#APITesting\",\"#CleanCode\",\"#CodeQuality\",\"#CSharp\",\"#DeveloperTools\",\"#DevTips\",\"#dotnet\",\"#FluentAssertions\",\"#JSON\",\"#ObjectGraph\",\"#OpenSource\",\"#Programming\",\"#SoftwareTesting\",\"#TestAutomation\",\"#UnitTesting\"],\"articleSection\":[\"Release Notes\",\"Releases\"],\"inLanguage\":\"fr-CA\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/xceed.com\\\/blog\\\/releases\\\/fluent-assertions-8-7-is-live\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/releases\\\/fluent-assertions-8-7-is-live\\\/\",\"url\":\"https:\\\/\\\/xceed.com\\\/blog\\\/releases\\\/fluent-assertions-8-7-is-live\\\/\",\"name\":\"Fluent Assertions 8.7 is live - Xceed Software\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/fr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/releases\\\/fluent-assertions-8-7-is-live\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/releases\\\/fluent-assertions-8-7-is-live\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/xceed.com\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/4.png\",\"datePublished\":\"2025-09-25T14:21:59+00:00\",\"dateModified\":\"2026-08-26T18:58:31+00:00\",\"description\":\"Discover what\u2019s new in Fluent Assertions 8.7\u2014JSON-native asserts, strict object graph equivalence, and improved exception testing for more resilient .NET test suites.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/releases\\\/fluent-assertions-8-7-is-live\\\/#breadcrumb\"},\"inLanguage\":\"fr-CA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/xceed.com\\\/blog\\\/releases\\\/fluent-assertions-8-7-is-live\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-CA\",\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/releases\\\/fluent-assertions-8-7-is-live\\\/#primaryimage\",\"url\":\"https:\\\/\\\/xceed.com\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/4.png\",\"contentUrl\":\"https:\\\/\\\/xceed.com\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/4.png\",\"width\":1280,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/releases\\\/fluent-assertions-8-7-is-live\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/xceed.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Fluent Assertions 8.7 is live\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/xceed.com\\\/fr\\\/#website\",\"url\":\"https:\\\/\\\/xceed.com\\\/fr\\\/\",\"name\":\"Xceed Software\",\"description\":\"Provides tools for .NET, Windows Forms, WPF, Silverlight, and ASP.NET developers to create better applications.\",\"publisher\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/fr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/xceed.com\\\/fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-CA\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/xceed.com\\\/fr\\\/#organization\",\"name\":\"Xceed Software\",\"alternateName\":\"Xceed Software\",\"url\":\"https:\\\/\\\/xceed.com\\\/fr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-CA\",\"@id\":\"https:\\\/\\\/xceed.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/xceed.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/Untitled-design-24.png\",\"contentUrl\":\"https:\\\/\\\/xceed.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/Untitled-design-24.png\",\"width\":512,\"height\":512,\"caption\":\"Xceed Software\"},\"image\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/xceed.com\\\/fr\\\/#\\\/schema\\\/person\\\/79a6cce48b70a88e6701fef086d7c351\",\"name\":\"Christopher Radford\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-CA\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/646a50aec7dd7187eab0ace3be81c465cdf54ce89b57357657f254b7cb1b996c?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/646a50aec7dd7187eab0ace3be81c465cdf54ce89b57357657f254b7cb1b996c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/646a50aec7dd7187eab0ace3be81c465cdf54ce89b57357657f254b7cb1b996c?s=96&d=mm&r=g\",\"caption\":\"Christopher Radford\"},\"sameAs\":[\"http:\\\/\\\/www.localhost:10003\"],\"url\":\"https:\\\/\\\/xceed.com\\\/fr\\\/blog\\\/author\\\/radfordc\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Fluent Assertions 8.7 is live - Xceed Software","description":"Discover what\u2019s new in Fluent Assertions 8.7\u2014JSON-native asserts, strict object graph equivalence, and improved exception testing for more resilient .NET test suites.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/xceed.com\/fr\/blog\/liberations\/fluent-assertions-8-7-is-live\/","og_locale":"fr_CA","og_type":"article","og_title":"Fluent Assertions 8.7 is live - Xceed Software","og_description":"Discover what\u2019s new in Fluent Assertions 8.7\u2014JSON-native asserts, strict object graph equivalence, and improved exception testing for more resilient .NET test suites.","og_url":"https:\/\/xceed.com\/fr\/blog\/liberations\/fluent-assertions-8-7-is-live\/","og_site_name":"Xceed Software","article_published_time":"2025-09-25T14:21:59+00:00","article_modified_time":"2026-08-26T18:58:31+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/xceed.com\/wp-content\/uploads\/2025\/09\/4.png","type":"image\/png"}],"author":"Christopher Radford","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Christopher Radford","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/xceed.com\/blog\/releases\/fluent-assertions-8-7-is-live\/#article","isPartOf":{"@id":"https:\/\/xceed.com\/blog\/releases\/fluent-assertions-8-7-is-live\/"},"author":{"name":"Christopher Radford","@id":"https:\/\/xceed.com\/fr\/#\/schema\/person\/79a6cce48b70a88e6701fef086d7c351"},"headline":"Fluent Assertions 8.7 is live","datePublished":"2025-09-25T14:21:59+00:00","dateModified":"2026-08-26T18:58:31+00:00","mainEntityOfPage":{"@id":"https:\/\/xceed.com\/blog\/releases\/fluent-assertions-8-7-is-live\/"},"wordCount":349,"commentCount":0,"publisher":{"@id":"https:\/\/xceed.com\/fr\/#organization"},"image":{"@id":"https:\/\/xceed.com\/blog\/releases\/fluent-assertions-8-7-is-live\/#primaryimage"},"thumbnailUrl":"https:\/\/xceed.com\/wp-content\/uploads\/2025\/09\/4.png","keywords":["#APITesting","#CleanCode","#CodeQuality","#CSharp","#DeveloperTools","#DevTips","#dotnet","#FluentAssertions","#JSON","#ObjectGraph","#OpenSource","#Programming","#SoftwareTesting","#TestAutomation","#UnitTesting"],"articleSection":["Release Notes","Releases"],"inLanguage":"fr-CA","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/xceed.com\/blog\/releases\/fluent-assertions-8-7-is-live\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/xceed.com\/blog\/releases\/fluent-assertions-8-7-is-live\/","url":"https:\/\/xceed.com\/blog\/releases\/fluent-assertions-8-7-is-live\/","name":"Fluent Assertions 8.7 is live - Xceed Software","isPartOf":{"@id":"https:\/\/xceed.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/xceed.com\/blog\/releases\/fluent-assertions-8-7-is-live\/#primaryimage"},"image":{"@id":"https:\/\/xceed.com\/blog\/releases\/fluent-assertions-8-7-is-live\/#primaryimage"},"thumbnailUrl":"https:\/\/xceed.com\/wp-content\/uploads\/2025\/09\/4.png","datePublished":"2025-09-25T14:21:59+00:00","dateModified":"2026-08-26T18:58:31+00:00","description":"Discover what\u2019s new in Fluent Assertions 8.7\u2014JSON-native asserts, strict object graph equivalence, and improved exception testing for more resilient .NET test suites.","breadcrumb":{"@id":"https:\/\/xceed.com\/blog\/releases\/fluent-assertions-8-7-is-live\/#breadcrumb"},"inLanguage":"fr-CA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/xceed.com\/blog\/releases\/fluent-assertions-8-7-is-live\/"]}]},{"@type":"ImageObject","inLanguage":"fr-CA","@id":"https:\/\/xceed.com\/blog\/releases\/fluent-assertions-8-7-is-live\/#primaryimage","url":"https:\/\/xceed.com\/wp-content\/uploads\/2025\/09\/4.png","contentUrl":"https:\/\/xceed.com\/wp-content\/uploads\/2025\/09\/4.png","width":1280,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/xceed.com\/blog\/releases\/fluent-assertions-8-7-is-live\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/xceed.com\/"},{"@type":"ListItem","position":2,"name":"Fluent Assertions 8.7 is live"}]},{"@type":"WebSite","@id":"https:\/\/xceed.com\/fr\/#website","url":"https:\/\/xceed.com\/fr\/","name":"Xceed Software","description":"Fournit des outils aux d\u00e9veloppeurs .NET, Windows Forms, WPF, Silverlight et ASP.NET pour cr\u00e9er de meilleures applications.","publisher":{"@id":"https:\/\/xceed.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/xceed.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-CA"},{"@type":"Organization","@id":"https:\/\/xceed.com\/fr\/#organization","name":"Xceed Software","alternateName":"Xceed Software","url":"https:\/\/xceed.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-CA","@id":"https:\/\/xceed.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/xceed.com\/wp-content\/uploads\/2026\/07\/Untitled-design-24.png","contentUrl":"https:\/\/xceed.com\/wp-content\/uploads\/2026\/07\/Untitled-design-24.png","width":512,"height":512,"caption":"Xceed Software"},"image":{"@id":"https:\/\/xceed.com\/fr\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/xceed.com\/fr\/#\/schema\/person\/79a6cce48b70a88e6701fef086d7c351","name":"Christopher Radford","image":{"@type":"ImageObject","inLanguage":"fr-CA","@id":"https:\/\/secure.gravatar.com\/avatar\/646a50aec7dd7187eab0ace3be81c465cdf54ce89b57357657f254b7cb1b996c?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/646a50aec7dd7187eab0ace3be81c465cdf54ce89b57357657f254b7cb1b996c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/646a50aec7dd7187eab0ace3be81c465cdf54ce89b57357657f254b7cb1b996c?s=96&d=mm&r=g","caption":"Christopher Radford"},"sameAs":["http:\/\/www.localhost:10003"],"url":"https:\/\/xceed.com\/fr\/blog\/author\/radfordc\/"}]}},"_links":{"self":[{"href":"https:\/\/xceed.com\/fr\/wp-json\/wp\/v2\/posts\/3178","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/xceed.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/xceed.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/xceed.com\/fr\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/xceed.com\/fr\/wp-json\/wp\/v2\/comments?post=3178"}],"version-history":[{"count":0,"href":"https:\/\/xceed.com\/fr\/wp-json\/wp\/v2\/posts\/3178\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/xceed.com\/fr\/wp-json\/wp\/v2\/media\/3179"}],"wp:attachment":[{"href":"https:\/\/xceed.com\/fr\/wp-json\/wp\/v2\/media?parent=3178"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/xceed.com\/fr\/wp-json\/wp\/v2\/categories?post=3178"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/xceed.com\/fr\/wp-json\/wp\/v2\/tags?post=3178"},{"taxonomy":"products","embeddable":true,"href":"https:\/\/xceed.com\/fr\/wp-json\/wp\/v2\/products?post=3178"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}