{"id":3178,"date":"2025-09-25T14:21:59","date_gmt":"2025-09-25T14:21:59","guid":{"rendered":"https:\/\/xceed.com\/?p=3178"},"modified":"2026-02-16T19:27:26","modified_gmt":"2026-02-16T19:27:26","slug":"fluent-assertions-8-7-is-live","status":"publish","type":"post","link":"https:\/\/xceed.com\/fr\/blog\/all\/fluent-assertions-8-7-is-live\/","title":{"rendered":"Fluent Assertions 8.7 is live"},"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>Version 8.7.0 makes API and object graph testing less brittle. You can now assert directly on JsonNode and JsonArray, fine-tune BeEquivalentTo with strict typing and member mapping, and use WithoutMessage to block unwanted exception text. Cleaner intent, fewer diffs, more trustworthy tests.<\/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":[141,78,50],"tags":[372,369,367,360,366,371,353,359,362,363,365,370,368,361,364],"class_list":["post-3178","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-all","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"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Fluent Assertions 8.7 is live - Xceed<\/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\/tous\/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\" \/>\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\/tous\/fluent-assertions-8-7-is-live\/\" \/>\n<meta property=\"og:site_name\" content=\"Xceed\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-25T14:21:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-16T19:27:26+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\\\/all\\\/fluent-assertions-8-7-is-live\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/all\\\/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-02-16T19:27:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/all\\\/fluent-assertions-8-7-is-live\\\/\"},\"wordCount\":349,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/fr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/all\\\/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\":[\"All\",\"Release Notes\",\"Releases\"],\"inLanguage\":\"fr-CA\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/xceed.com\\\/blog\\\/all\\\/fluent-assertions-8-7-is-live\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/all\\\/fluent-assertions-8-7-is-live\\\/\",\"url\":\"https:\\\/\\\/xceed.com\\\/blog\\\/all\\\/fluent-assertions-8-7-is-live\\\/\",\"name\":\"Fluent Assertions 8.7 is live - Xceed\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/fr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/all\\\/fluent-assertions-8-7-is-live\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/all\\\/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-02-16T19:27:26+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\\\/all\\\/fluent-assertions-8-7-is-live\\\/#breadcrumb\"},\"inLanguage\":\"fr-CA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/xceed.com\\\/blog\\\/all\\\/fluent-assertions-8-7-is-live\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-CA\",\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/all\\\/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\\\/all\\\/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\",\"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\",\"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\\\/2024\\\/04\\\/cropped-xceed-logo.png\",\"contentUrl\":\"https:\\\/\\\/xceed.com\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/cropped-xceed-logo.png\",\"width\":609,\"height\":150,\"caption\":\"Xceed\"},\"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","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\/tous\/fluent-assertions-8-7-is-live\/","og_locale":"fr_CA","og_type":"article","og_title":"Fluent Assertions 8.7 is live - Xceed","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\/tous\/fluent-assertions-8-7-is-live\/","og_site_name":"Xceed","article_published_time":"2025-09-25T14:21:59+00:00","article_modified_time":"2026-02-16T19:27:26+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\/all\/fluent-assertions-8-7-is-live\/#article","isPartOf":{"@id":"https:\/\/xceed.com\/blog\/all\/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-02-16T19:27:26+00:00","mainEntityOfPage":{"@id":"https:\/\/xceed.com\/blog\/all\/fluent-assertions-8-7-is-live\/"},"wordCount":349,"commentCount":0,"publisher":{"@id":"https:\/\/xceed.com\/fr\/#organization"},"image":{"@id":"https:\/\/xceed.com\/blog\/all\/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":["All","Release Notes","Releases"],"inLanguage":"fr-CA","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/xceed.com\/blog\/all\/fluent-assertions-8-7-is-live\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/xceed.com\/blog\/all\/fluent-assertions-8-7-is-live\/","url":"https:\/\/xceed.com\/blog\/all\/fluent-assertions-8-7-is-live\/","name":"Fluent Assertions 8.7 is live - Xceed","isPartOf":{"@id":"https:\/\/xceed.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/xceed.com\/blog\/all\/fluent-assertions-8-7-is-live\/#primaryimage"},"image":{"@id":"https:\/\/xceed.com\/blog\/all\/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-02-16T19:27:26+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\/all\/fluent-assertions-8-7-is-live\/#breadcrumb"},"inLanguage":"fr-CA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/xceed.com\/blog\/all\/fluent-assertions-8-7-is-live\/"]}]},{"@type":"ImageObject","inLanguage":"fr-CA","@id":"https:\/\/xceed.com\/blog\/all\/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\/all\/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","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","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\/2024\/04\/cropped-xceed-logo.png","contentUrl":"https:\/\/xceed.com\/wp-content\/uploads\/2024\/04\/cropped-xceed-logo.png","width":609,"height":150,"caption":"Xceed"},"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"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}