diff --git a/.gitattributes b/.gitattributes
index 2b79349044..f6e90d41d3 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -9,7 +9,10 @@ src/Verify/EmptyFiles/* binary
*.verified.txt text eol=lf working-tree-encoding=UTF-8
*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.md text eol=lf working-tree-encoding=UTF-8
*.verified.json text eol=lf working-tree-encoding=UTF-8
+*.verified.props text eol=lf working-tree-encoding=UTF-8
+*.verified.nuspec text eol=lf working-tree-encoding=UTF-8
src/.editorconfig text eol=lf working-tree-encoding=UTF-8
*.sln.DotSettings text eol=lf working-tree-encoding=UTF-8
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index 50eb5f98ed..2af506abeb 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -12,7 +12,7 @@ General questions may be better placed [StackOveflow](https://stackoverflow.com/
Where relevant, ensure you are using the current stable versions on your development stack. For example:
- * Visual Studio
+ * Visual Studio or Rider
* [.NET SDK or .NET Core SDK](https://www.microsoft.com/net/download)
* Any related NuGet packages
@@ -30,7 +30,8 @@ Add any other context about the problem here.
#### Minimal Repro
-Ensure you have replicated the bug in a minimal solution with the fewest moving parts. Often this will help point to the true cause of the problem. Upload this repro as part of the issue, preferably a public GitHub repository or a downloadable zip. The repro will allow the maintainers of this project to smoke test the any fix.
+Ensure you have replicated the bug in a minimal solution with the fewest moving parts. Often this will help point to the true cause of the problem. Upload this repro as part of the issue, as a public GitHub repository or a downloadable zip. The repro will allow the maintainers of this project to smoke test the any fix.
+
#### Submit a PR that fixes the bug
diff --git a/.gitignore b/.gitignore
index 2d17ea5e54..98fd6dec40 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,3 +19,5 @@ src/Verify.Tests/Tests.TextNegative.verified.tmp
src/Verify.Tests/NewLineTests.StringWithDifferingNewline.verified.txt
src/Verify.MSTest.Tests/Tests.AutoVerifyHasAttachment.verified.txt
src/Verify.NUnit.Tests/Tests.AutoVerifyHasAttachment.verified.txt
+src/Verify.TUnit.Tests/Tests.AutoVerifyHasAttachment.verified.txt
+/src/Benchmarks/BenchmarkDotNet.Artifacts
diff --git a/docs/anonymous-types.md b/docs/anonymous-types.md
index e22572c894..d5e84c2a5f 100644
--- a/docs/anonymous-types.md
+++ b/docs/anonymous-types.md
@@ -37,7 +37,7 @@ public Task Anon()
});
}
```
-snippet source | anchor
+snippet source | anchor
@@ -68,7 +68,7 @@ public Task Anon()
});
}
```
-snippet source | anchor
+snippet source | anchor
@@ -98,7 +98,7 @@ public Task Anon()
});
}
```
-snippet source | anchor
+snippet source | anchor
@@ -129,7 +129,7 @@ public Task Anon()
});
}
```
-snippet source | anchor
+snippet source | anchor
diff --git a/docs/compared-to-assertion.md b/docs/compared-to-assertion.md
index f4223fbff8..22e36f73af 100644
--- a/docs/compared-to-assertion.md
+++ b/docs/compared-to-assertion.md
@@ -81,7 +81,7 @@ public void TraditionalTest()
Assert.Equal("USA", person.Address.Country);
}
```
-snippet source | anchor
+snippet source | anchor
@@ -97,7 +97,7 @@ public Task SnapshotTest()
return Verify(person);
}
```
-snippet source | anchor
+snippet source | anchor
Produces a snapshot file `SnapshotTest.verified.txt`:
@@ -121,4 +121,22 @@ Produces a snapshot file `SnapshotTest.verified.txt`:
}
```
snippet source | anchor
+
+```txt
+{
+ GivenNames: John,
+ FamilyName: Smith,
+ Spouse: Jill,
+ Address: {
+ Street: 4 Puddle Lane,
+ Country: USA
+ },
+ Children: [
+ Sam,
+ Mary
+ ],
+ Id: Guid_1
+}
+```
+snippet source | anchor
diff --git a/docs/dates.md b/docs/dates.md
index d2acea8255..214f111a36 100644
--- a/docs/dates.md
+++ b/docs/dates.md
@@ -7,7 +7,6 @@ To change this file edit the source file and then run MarkdownSnippets.
# Dates
-
By default dates and times (`DateTime`, `DateTimeOffset`, `DateOnly`, and `TimeOnly`) are sanitized during verification. This is done by finding each date and taking a counter based that that specific date. That counter is then used replace the date values. This allows for repeatable tests when date values are changing.
@@ -30,7 +29,7 @@ var target = new DateTimeTarget
await Verify(target);
```
-snippet source | anchor
+snippet source | anchor
Results in the following:
@@ -71,7 +70,7 @@ settings.DontScrubDateTimes();
return Verify(target, settings);
```
-snippet source | anchor
+snippet source | anchor
@@ -88,7 +87,7 @@ var target = new
return Verify(target)
.DontScrubDateTimes();
```
-snippet source | anchor
+snippet source | anchor
@@ -101,13 +100,13 @@ return Verify(target)
public static void ModuleInitializer() =>
VerifierSettings.DontScrubDateTimes();
```
-snippet source | anchor
+snippet source | anchor
## DisableDateCounting
-If many calls are made to the the current date/time in quick succession, the date counting behavior (`DateTime_x`) can result in inconsistent results. To revert to the simpler scrubbing convention (`{Scrubbed}`) use DisableDateCounting.
+If many calls are made to the current date/time in quick succession, the date counting behavior (`DateTime_x`) can result in inconsistent results. To revert to the simpler scrubbing convention (`{Scrubbed}`) use DisableDateCounting.
### Instance
@@ -125,7 +124,7 @@ settings.DisableDateCounting();
return Verify(target, settings);
```
-snippet source | anchor
+snippet source | anchor
@@ -142,7 +141,7 @@ var target = new
return Verify(target)
.DisableDateCounting();
```
-snippet source | anchor
+snippet source | anchor
@@ -155,7 +154,7 @@ return Verify(target)
public static void ModuleInitializer() =>
VerifierSettings.DisableDateCounting();
```
-snippet source | anchor
+snippet source | anchor
@@ -202,7 +201,7 @@ public Task ScrubInlineDateTimesInstance()
settings);
}
```
-snippet source | anchor
+snippet source | anchor
@@ -216,7 +215,7 @@ public Task ScrubInlineDateTimesFluent() =>
Verify("content 2020-10-20 content")
.ScrubInlineDateTimes("yyyy-MM-dd");
```
-snippet source | anchor
+snippet source | anchor
@@ -232,7 +231,7 @@ public static class ModuleInitializer
VerifierSettings.ScrubInlineDateTimes("yyyy-MM-dd");
}
```
-snippet source | anchor
+snippet source | anchor
@@ -253,7 +252,7 @@ settings.AddNamedDateTime(new(2030, 1, 2), "instanceNamedDateTime");
settings.AddNamedDateTimeOffset(new DateTime(2030, 1, 2), "instanceNamedTimeOffset");
await Verify(target, settings);
```
-snippet source | anchor
+snippet source | anchor
@@ -268,7 +267,7 @@ await Verify(target)
.AddNamedDateTime(new(2030, 1, 2), "instanceNamedDateTime")
.AddNamedDateTimeOffset(new DateTime(2030, 1, 2), "instanceNamedTimeOffset");
```
-snippet source | anchor
+snippet source | anchor
@@ -286,5 +285,138 @@ public static void NamedDatesAndTimesGlobal()
VerifierSettings.AddNamedDateTimeOffset(new(new(2030, 1, 1)), "namedDateTimeOffset");
}
```
-snippet source | anchor
+snippet source | anchor
+
+
+
+## Custom Comparers
+
+The following comparers can be overridden
+
+
+### DateTime
+
+Default Comparer:
+
+
+
+```cs
+class DateTimeComparer : IEqualityComparer
+{
+ public bool Equals(DateTime x, DateTime y) =>
+ x == y &&
+ x.Kind == y.Kind;
+
+ public int GetHashCode(DateTime obj) =>
+ obj.GetHashCode() + (int) obj.Kind;
+}
+```
+snippet source | anchor
+
+
+Custom Comparer:
+
+
+
+```cs
+[ModuleInitializer]
+public static void UseCustomDateTimeComparer() =>
+ Counter.UseDateTimeComparer(new CustomDateTimeComparer());
+
+public class CustomDateTimeComparer :
+ IEqualityComparer
+{
+ public bool Equals(DateTime x, DateTime y) =>
+ new DateTime(x.Year, x.Month, x.Day) ==
+ new DateTime(y.Year, y.Month, y.Day);
+
+ public int GetHashCode(DateTime date) =>
+ new DateTime(date.Year, date.Month, date.Day).GetHashCode();
+}
+```
+snippet source | anchor
+
+
+
+### DateTimeOffset
+
+Default Comparer:
+
+
+
+```cs
+class DateTimeOffsetComparer :
+ IEqualityComparer
+{
+ public bool Equals(DateTimeOffset x, DateTimeOffset y) =>
+ x == y && x.Offset == y.Offset;
+
+ public int GetHashCode(DateTimeOffset obj) =>
+ obj.GetHashCode() + (int) obj.Offset.TotalMinutes;
+}
+```
+snippet source | anchor
+
+
+Custom Comparer:
+
+
+
+```cs
+[ModuleInitializer]
+public static void UseCustomDateTimeOffsetComparer() =>
+ Counter.UseDateTimeOffsetComparer(new CustomDateTimeOffsetComparer());
+
+public class CustomDateTimeOffsetComparer :
+ IEqualityComparer
+{
+ public bool Equals(DateTimeOffset x, DateTimeOffset y) =>
+ new DateTimeOffset(new(x.Year, x.Month, x.Day)) ==
+ new DateTimeOffset(new(y.Year, y.Month, y.Day));
+
+ public int GetHashCode(DateTimeOffset date)
+ {
+ var dateTime = new DateTime(date.Year, date.Month, date.Day);
+ return new DateTimeOffset(dateTime)
+ .GetHashCode();
+ }
+}
+```
+snippet source | anchor
+
+
+
+### TimeOnly
+
+Default Comparer:
+
+
+
+```cs
+EqualityComparer.Default;
+```
+snippet source | anchor
+
+
+Custom Comparer:
+
+
+
+```cs
+[ModuleInitializer]
+public static void UseCustomTimeComparer() =>
+ Counter.UseTimeComparer(new CustomTimeComparer());
+
+public class CustomTimeComparer :
+ IEqualityComparer
+{
+ public bool Equals(Time x, Time y) =>
+ new Time(x.Hour, x.Minute, x.Second) ==
+ new Time(y.Hour, y.Minute, y.Second);
+
+ public int GetHashCode(Time date) =>
+ new Time(date.Hour, date.Minute, date.Second).GetHashCode();
+}
+```
+snippet source | anchor
diff --git a/docs/explicit-targets.md b/docs/explicit-targets.md
index 17c52346d3..01e7f000e6 100644
--- a/docs/explicit-targets.md
+++ b/docs/explicit-targets.md
@@ -31,14 +31,14 @@ public Task WithTargets() =>
name: "targetName")
]);
```
-snippet source | anchor
+snippet source | anchor
## Xunit
-
-
+
+
```cs
[Fact]
public Task WithTargets() =>
@@ -54,7 +54,7 @@ public Task WithTargets() =>
name: "targetName")
]);
```
-snippet source | anchor
+snippet source | anchor
@@ -76,14 +76,14 @@ public Task WithTargets() =>
name: "targetName")
]);
```
-snippet source | anchor
+snippet source | anchor
## MsTest
-
-
+
+
```cs
[TestMethod]
public Task WithTargets() =>
@@ -100,7 +100,30 @@ public Task WithTargets() =>
name: "targetName")
]);
```
-snippet source | anchor
+snippet source | anchor
+
+
+
+## TUnit
+
+
+
+```cs
+[Test]
+public Task WithTargets() =>
+ Verify(
+ new
+ {
+ Property = "Value"
+ },
+ [
+ new Target(
+ extension: "txt",
+ data: "Raw target value",
+ name: "targetName")
+ ]);
+```
+snippet source | anchor
diff --git a/docs/guids.md b/docs/guids.md
index c6e5d90270..2538e1f53b 100644
--- a/docs/guids.md
+++ b/docs/guids.md
@@ -23,7 +23,7 @@ var target = new GuidTarget
await Verify(target);
```
-snippet source | anchor
+snippet source | anchor
Results in the following:
@@ -79,7 +79,7 @@ await Verify(target)
```cs
VerifierSettings.DontScrubGuids();
```
-snippet source | anchor
+snippet source | anchor
@@ -103,7 +103,7 @@ public Task ScrubInlineGuidsInstance()
settings);
}
```
-snippet source | anchor
+snippet source | anchor
@@ -117,7 +117,7 @@ public Task ScrubInlineGuidsFluent() =>
Verify("content 651ad409-fc30-4b12-a47e-616d3f953e4c content")
.ScrubInlineGuids();
```
-snippet source | anchor
+snippet source | anchor
@@ -133,7 +133,7 @@ public static class ModuleInitializer
VerifierSettings.ScrubInlineGuids();
}
```
-snippet source | anchor
+snippet source | anchor
diff --git a/docs/mdsource/dates.source.md b/docs/mdsource/dates.source.md
index ddd886bf7f..9a493df70e 100644
--- a/docs/mdsource/dates.source.md
+++ b/docs/mdsource/dates.source.md
@@ -1,6 +1,5 @@
# Dates
-
By default dates and times (`DateTime`, `DateTimeOffset`, `DateOnly`, and `TimeOnly`) are sanitized during verification. This is done by finding each date and taking a counter based that that specific date. That counter is then used replace the date values. This allows for repeatable tests when date values are changing.
snippet: Date
@@ -29,7 +28,7 @@ snippet: DontScrubDateTimesGlobal
## DisableDateCounting
-If many calls are made to the the current date/time in quick succession, the date counting behavior (`DateTime_x`) can result in inconsistent results. To revert to the simpler scrubbing convention (`{Scrubbed}`) use DisableDateCounting.
+If many calls are made to the current date/time in quick succession, the date counting behavior (`DateTime_x`) can result in inconsistent results. To revert to the simpler scrubbing convention (`{Scrubbed}`) use DisableDateCounting.
### Instance
@@ -91,4 +90,42 @@ snippet: NamedDatesAndTimesFluent
### Globally
-snippet: NamedDatesAndTimesGlobal
\ No newline at end of file
+snippet: NamedDatesAndTimesGlobal
+
+
+## Custom Comparers
+
+The following comparers can be overridden
+
+
+### DateTime
+
+Default Comparer:
+
+snippet: DateTimeComparer
+
+Custom Comparer:
+
+snippet: CustomDateTimeComparer
+
+
+### DateTimeOffset
+
+Default Comparer:
+
+snippet: DateTimeOffsetComparer
+
+Custom Comparer:
+
+snippet: CustomDateTimeOffsetComparer
+
+
+### TimeOnly
+
+Default Comparer:
+
+snippet: TimeComparer
+
+Custom Comparer:
+
+snippet: CustomTimeComparer
\ No newline at end of file
diff --git a/docs/mdsource/explicit-targets.source.md b/docs/mdsource/explicit-targets.source.md
index 3e5b2f2939..b3226e53b5 100644
--- a/docs/mdsource/explicit-targets.source.md
+++ b/docs/mdsource/explicit-targets.source.md
@@ -12,7 +12,7 @@ snippet: ExplicitTargetsNunit
## Xunit
-snippet: ExplicitTargetsXunit
+snippet: ExplicitTargetsXunitV3
## Fixie
@@ -22,7 +22,12 @@ snippet: ExplicitTargetsFixie
## MsTest
-snippet: ExplicitTargetsMsTest
+snippet: ExplicitTargetsMSTest
+
+
+## TUnit
+
+snippet: ExplicitTargetsTUnit
## Result
diff --git a/docs/mdsource/file-name-suffix.include.md b/docs/mdsource/file-name-suffix.include.md
new file mode 100644
index 0000000000..a375657d45
--- /dev/null
+++ b/docs/mdsource/file-name-suffix.include.md
@@ -0,0 +1,15 @@
+## File name suffix
+
+Every parameterised case should have a unique [file name](/docs/naming.md) with the parameters appended to the file name. This happens automatically for NUnit; xUnit and MSTest require the use of `UseParameters()` (see below).
+
+The appending format is `_ParamName=ParamValue` repeated for each parameter.
+
+A test with two parameters `param1` + `param2`, and called twice with the values `value1a` + `value2a` and `value1b` + `value2b` would have the following file names:
+
+ * `MyTest.MyMethod_param1=value1a_param2=value2a.verified.txt`
+ * `MyTest.MyMethod_param1=value1b_param2=value2b.verified.txt`
+
+
+### Invalid characters
+
+Characters that cannot be used for a file name are replaced with a dash (`-`).
diff --git a/docs/mdsource/fixie-convention.include.md b/docs/mdsource/fixie-convention.include.md
new file mode 100644
index 0000000000..8051fe36cd
--- /dev/null
+++ b/docs/mdsource/fixie-convention.include.md
@@ -0,0 +1,12 @@
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+snippet: TestProject.cs
\ No newline at end of file
diff --git a/docs/mdsource/hashing-parameters.include.md b/docs/mdsource/hashing-parameters.include.md
new file mode 100644
index 0000000000..476eeeb6be
--- /dev/null
+++ b/docs/mdsource/hashing-parameters.include.md
@@ -0,0 +1,7 @@
+Parameters can be hashed as an alternative to being stringified. This is useful when the parameters are large and could potentially generate file names that exceed allowances of the OS.
+
+Hashing parameter is achieved by using `HashParameters`.
+
+[Overriding text used for parameters](#overriding-text-used-for-parameters) is respected when generating the hash.
+
+[XxHash64](https://learn.microsoft.com/en-us/dotnet/api/system.io.hashing.xxhash64) is used to perform the hash.
\ No newline at end of file
diff --git a/docs/mdsource/ignore-parameters.include.md b/docs/mdsource/ignore-parameters.include.md
new file mode 100644
index 0000000000..6664861695
--- /dev/null
+++ b/docs/mdsource/ignore-parameters.include.md
@@ -0,0 +1,17 @@
+By default, Verify expects every parameterized case to have a unique [file name](/docs/naming.md) with the parameters appended to the file name. This behavior can be overridden by using `IgnoreParametersForVerified()`. In this case, the verified file name does not contain the parameter values, meaning it is the same for each testcase.
+
+`IgnoreParametersForVerified` accepts an array for passing through the parameters. These values are passed to [UseParameters](#UseParameters). This is required for MSTest, and xUnit. Parameters should not be passed for NUnit, TUnit and Fixie since they are automatically detected.
+
+The below samples produce:
+
+For the instance case:
+
+ * NamerTests.IgnoreParametersForVerified_arg=One.received.txt
+ * NamerTests.IgnoreParametersForVerified_arg=Two.received.txt
+ * NamerTests.IgnoreParametersForVerified.verified.txt
+
+For the fluent case:
+
+ * NamerTests.IgnoreParametersForVerifiedFluent_arg=One.received.txt
+ * NamerTests.IgnoreParametersForVerifiedFluent_arg=Two.received.txt
+ * NamerTests.IgnoreParametersForVerifiedFluent.verified.txt
diff --git a/docs/mdsource/naming.source.md b/docs/mdsource/naming.source.md
index 5dc1379d2c..7a06f94747 100644
--- a/docs/mdsource/naming.source.md
+++ b/docs/mdsource/naming.source.md
@@ -11,23 +11,35 @@ The format is
## Directory
-The directory that contains the test. A custom directory can be used via `UseDirectory`:
+The directory that contains the test.
+
+The path provided can be absolute or relative to the directory that contains the test.
+
+
+### Instance
snippet: UseDirectory
+
+### Fluent
+
snippet: UseDirectoryFluent
Will result in `CustomDirectory/TypeName.MethodName.verified.txt`.
-The path provided can be absolute or relative to the directory that contains the test.
-
## TestClassName
The class name that contains the test. A custom test name can be used via `UseTypeName`:
+
+### Instance
+
snippet: UseTypeName
+
+### Fluent
+
snippet: UseTypeNameFluent
Will result in `CustomTypeName.MethodName.verified.txt`.
@@ -41,6 +53,9 @@ snippet: UseMethodName
Will result in `TestClass.CustomMethodName.verified.txt`.
+
+### Fluent
+
snippet: UseMethodNameFluent
Will result in `TestClass.CustomMethodNameFluent.verified.txt`.
@@ -57,10 +72,16 @@ snippet: MultipleCalls
To fully control the `{TestClassName}.{TestMethodName}_{Parameters}` parts of the file use `UseFileName`:
+
+### Instance
+
snippet: UseFileName
Will result in `CustomFileName.verified.txt`.
+
+### Fluent
+
snippet: UseFileNameFluent
Will result in `UseFileNameFluent.verified.txt`.
@@ -107,6 +128,11 @@ snippet: UniqueForSampleMSTest
snippet: UniqueForSampleExpecto
+### TUnit
+
+snippet: UniqueForSampleTUnit
+
+
### Result
For a project executed on both x64 and x86 that targets
@@ -170,7 +196,7 @@ For example to place all `.verified.` files in a `{ProjectDirectory}\Snapshots`
### Xunit
-snippet: DerivePathInfoXUnit
+snippet: DerivePathInfoXUnitV3
### NUnit
@@ -277,6 +303,54 @@ eg. add the following to `.gitignore`
`*.received/`
-## Received and multi-targetting
+## Received and multi-targeting
+
+When a test project uses more than one `TargetFrameworks` (eg `net48;net7.0 `) the runtime and version will be always be added as a uniqueness to the received file. This prevents file locking contention when the tests from both target framework run in parallel.
+
+
+## Orphaned verified files
+
+One problem with Verify is there is currently no way to track or clean up orphaned verified files.
+
+
+### Scenario
+
+Given the following test
+
+```
+[TestFixture]
+public class MyFixture
+{
+ [Test]
+ public Task MyTest1() => Verify("Value");
+}
+```
+
+The resulting verified file will be `MyFixture.MyTest1.verified.txt`
+
+Now the test is changed to
+
+```
+[TestFixture]
+public class MyFixture
+{
+ [Test]
+ public Task Test1() => Verify("Value");
+}
+```
+
+The new resulting verified file will be `MyFixture.Test1.verified.txt`.
+
+The old file, `MyFixture.MyTest1.verified.txt`, will be now orphaned and never be cleaned up.
+
+
+### Mitigation
+
+For small renames, with resulting small number of orphaned files, the recommended approach is to manually rename the verified files. Or alternatively:
+
+ * Delete the orphaned `*.verified.*` files.
+ * Run the test(s)
+ * Accept all changes using one of the [Snapshot management](https://github.com/VerifyTests/Verify?tab=readme-ov-file#snapshot-management) approaches.
-When a test project uses more than one `TargetFrameworks` (eg `net48;net7.0 `) the runtime and version will be always be added as a uniqueness to the received file. This prevents file locking contenction when the tests from both target framework run in parallel.
\ No newline at end of file
+In some scenarios it may be necessary to clean up many orphaned files. For example from a rename of test fixture with many tests, or a test with many parameter permutations. In this case the delete can be performed by [DiffEngine Tray - Purge verified files
+](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#purge-verified-files) feature.
diff --git a/docs/mdsource/override-parameters-text.include.md b/docs/mdsource/override-parameters-text.include.md
new file mode 100644
index 0000000000..2ba5740809
--- /dev/null
+++ b/docs/mdsource/override-parameters-text.include.md
@@ -0,0 +1,17 @@
+`UseTextForParameters()` can be used to override the substitution text used for the `{Parameters}` part of the file convention.
+
+```
+{Directory}/{TestClassName}.{TestMethodName}_{Parameters}_{UniqueFor1}_{UniqueFor2}_{UniqueForX}.verified.{extension}
+```
+
+The below samples produce:
+
+For the instance case:
+
+ * TheTest.UseTextForParameters_Value1.verified.txt
+ * TheTest.UseTextForParameters_Value2.verified.txt
+
+For the fluent case:
+
+ * TheTest.UseTextForParametersFluent_Value1.verified.txt
+ * TheTest.UseTextForParametersFluent_Value2.verified.txt
\ No newline at end of file
diff --git a/docs/mdsource/parameterised-expecto.source.md b/docs/mdsource/parameterised-expecto.source.md
new file mode 100644
index 0000000000..f0b522185a
--- /dev/null
+++ b/docs/mdsource/parameterised-expecto.source.md
@@ -0,0 +1,3 @@
+# Expecto Parameterised Tests
+
+Verify.Expecto Does not currently support parameters.
\ No newline at end of file
diff --git a/docs/mdsource/parameterised-fixie.source.md b/docs/mdsource/parameterised-fixie.source.md
new file mode 100644
index 0000000000..6f7aaad3c6
--- /dev/null
+++ b/docs/mdsource/parameterised-fixie.source.md
@@ -0,0 +1,67 @@
+# Fixie Parameterised Tests
+
+
+## UseParameters()
+
+`UseParameters()` controls what parameters are used when naming files.
+
+Verify.Fixie automatically detects the method parameters via a [custom ITestProject](#custom-parameterisation).
+
+
+### Usage:
+
+snippet: UseParametersFixie
+
+If not all parameters are required, a subset can be passed in. In this scenario, the parameters passed in will match with the method parameter names from the start. For example the following will result in a file named `ParametersSample.UseParametersSubSet_arg1=Value1_arg2=Value2.verified.txt`
+
+snippet: UseParametersSubSetFixie
+
+If the number of parameters passed to `UseParameters()` is greater than the number of parameters in the test method, an exception will be thrown.
+
+
+## Custom parameterisation
+
+Fixie has no build in test parameterisation. Test parameterisation need to be implemented by the consuming library. See [Attribute-Based Parameterization](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#recipe-attribute-based-parameterization) for an example.
+
+Verify.Fixie requires some customisation of the above example.
+
+ * Inside `ITestProject.Configure` call `VerifierSettings.AssignTargetAssembly(environment.Assembly);`
+ * Inside `IExecution.Run` wrap `test.Run` in `using (ExecutionState.Set(testClass, test, parameters))`
+
+Example implementation:
+
+snippet: TestProject.cs
+
+Resulting usage:
+
+snippet: TestCaseFixie
+
+
+## Overriding text used for parameters
+
+include: override-parameters-text
+
+
+### Instance
+
+snippet: UseTextForParametersInstanceFixie
+
+
+### Fluent
+
+snippet: UseTextForParametersFluentFixie
+
+
+## Ignore parameters for verified filename
+
+include: ignore-parameters
+
+
+## IgnoreParametersForVerified with override parameters
+
+The parameters passed to IgnoreParametersForVerified can be used pass custom parameters to [UseParameters](#UseParameters).
+
+
+## Hashing parameters
+
+include: hashing-parameters
\ No newline at end of file
diff --git a/docs/mdsource/parameterised-mstest.source.md b/docs/mdsource/parameterised-mstest.source.md
new file mode 100644
index 0000000000..f74c2279e5
--- /dev/null
+++ b/docs/mdsource/parameterised-mstest.source.md
@@ -0,0 +1,72 @@
+# MSTest Parameterised Tests
+
+
+## UseParameters()
+
+`UseParameters()` controls what parameters are used when naming files.
+
+Verify.MSTest does not detect the parametrised arguments, as such `UseParameters()` is required.
+
+snippet: UseParametersMSTest
+
+If not all parameters are required, a subset can be passed in. In this scenario, the parameters passed in will match with the method parameter names from the start. For example the following will result in a file named `ParametersSample.UseParametersSubSet_arg1=Value1_arg2=Value2.verified.txt`
+
+snippet: UseParametersSubSetMSTest
+
+If the number of parameters passed to `UseParameters()` is greater than the number of parameters in the test method, an exception will be thrown.
+
+
+### DataRow
+
+
+#### Instance
+
+snippet: DataRowInstanceMSTest
+
+
+#### Fluent
+
+snippet: DataRowFluentMSTest
+
+
+## Overriding text used for parameters
+
+include: override-parameters-text
+
+
+snippet: UseTextForParametersMSTest
+
+
+## Ignore parameters for verified filename
+
+include: ignore-parameters
+
+
+### Instance
+
+snippet: IgnoreParametersForVerifiedMSTest
+
+
+### Fluent
+
+snippet: IgnoreParametersForVerifiedFluentMSTest
+
+
+## IgnoreParametersForVerified with override parameters
+
+The parameters passed to IgnoreParametersForVerified can be used pass custom parameters to [UseParameters](#UseParameters).
+
+
+### Instance
+
+snippet: IgnoreParametersForVerifiedCustomParamsMSTest
+
+
+### Fluent
+
+snippet: IgnoreParametersForVerifiedCustomParamsFluentMSTest
+
+
+## Hashing parameters
+
+include: hashing-parameters
\ No newline at end of file
diff --git a/docs/mdsource/parameterised-nunit.source.md b/docs/mdsource/parameterised-nunit.source.md
new file mode 100644
index 0000000000..9590e81190
--- /dev/null
+++ b/docs/mdsource/parameterised-nunit.source.md
@@ -0,0 +1,91 @@
+# NUnit Parameterised Tests
+
+
+## UseParameters()
+
+`UseParameters()` controls what parameters are used when naming files.
+
+Verify.NUnit automatically detects the method parameters. So `UseParameters()` is not required unless using custom parameters.
+
+If not all parameters are required, a subset can be passed in. In this scenario, the parameters passed in will match with the method parameter names from the start. For example the following will result in a file named `ParametersSample.UseParametersSubSet_arg1=Value1_arg2=Value2.verified.txt`
+
+snippet: UseParametersSubSetNunit
+
+If the number of parameters passed to `UseParameters()` is greater than the number of parameters in the test method, an exception will be thrown.
+
+
+### TestCase
+
+snippet: NUnitTestCase
+
+
+### TestFixtureSourceUsage
+
+When using a [TestFixtureSource](https://docs.nunit.org/articles/nunit/writing-tests/attributes/testfixturesource.html) the name provided by NUnit will be as the `TestMethodName`.
+
+snippet: TestFixtureSourceUsage.cs
+
+Produces:
+
+ * `TestFixtureSourceUsage.Test_arg1=Value1_arg2=1.verified.txt`
+ * `TestFixtureSourceUsage.Test_arg1=Value2_arg2=2.verified.txt`
+
+
+## Overriding text used for parameters
+
+include: override-parameters-text
+
+
+### Instance
+
+snippet: UseTextForParametersInstanceNunit
+
+
+### Fluent
+
+snippet: UseTextForParametersFluentNunit
+
+
+## Ignore parameters for verified filename
+
+include: ignore-parameters
+
+
+### Instance
+
+snippet: IgnoreParametersForVerifiedNunit
+
+
+### Fluent
+
+snippet: IgnoreParametersForVerifiedFluentNunit
+
+
+## IgnoreParametersForVerified with override parameters
+
+The parameters passed to IgnoreParametersForVerified can be used pass custom parameters to [UseParameters](#UseParameters).
+
+
+### Instance
+
+snippet: IgnoreParametersForVerifiedCustomParamsNunit
+
+
+### Fluent
+
+snippet: IgnoreParametersForVerifiedCustomParamsFluentNunit
+
+
+## Hashing parameters
+
+include: hashing-parameters
+
+
+### Instance
+
+snippet: UseParametersHashInstanceNunit
+
+
+### Fluent
+
+snippet: UseParametersHashFluentNunit
\ No newline at end of file
diff --git a/docs/mdsource/parameterised-tunit.source.md b/docs/mdsource/parameterised-tunit.source.md
new file mode 100644
index 0000000000..7745946f15
--- /dev/null
+++ b/docs/mdsource/parameterised-tunit.source.md
@@ -0,0 +1,86 @@
+# TUnit Parameterised Tests
+
+
+## UseParameters()
+
+`UseParameters()` controls what parameters are used when naming files.
+
+Verify.TUnit automatically detects the method parameters. So `UseParameters()` is not required unless using custom parameters.
+
+
+### Usage:
+
+For the above scenarios where parameters are not automatically detected:
+
+snippet: UseParametersTUnit
+
+If not all parameters are required, a subset can be passed in. In this scenario, the parameters passed in will match with the method parameter names from the start. For example the following will result in a file named `ParametersSample.UseParametersSubSet_arg1=Value1_arg2=Value2.verified.txt`
+
+snippet: UseParametersSubSetTUnit
+
+If the number of parameters passed to `UseParameters()` is greater than the number of parameters in the test method, an exception will be thrown.
+
+
+### TestCase
+
+snippet: TestCaseTUnit
+
+
+## Overriding text used for parameters
+
+include: override-parameters-text
+
+
+### Instance
+
+snippet: UseTextForParametersInstanceTUnit
+
+
+### Fluent
+
+snippet: UseTextForParametersFluentTUnit
+
+
+## Ignore parameters for verified filename
+
+include: ignore-parameters
+
+
+### Instance
+
+snippet: IgnoreParametersForVerifiedTUnit
+
+
+### Fluent
+
+snippet: IgnoreParametersForVerifiedFluentTUnit
+
+
+## IgnoreParametersForVerified with override parameters
+
+The parameters passed to IgnoreParametersForVerified can be used pass custom parameters to [UseParameters](#UseParameters).
+
+
+### Instance
+
+snippet: IgnoreParametersForVerifiedCustomParamsTUnit
+
+
+### Fluent
+
+snippet: IgnoreParametersForVerifiedCustomParamsFluentTUnit
+
+
+## Hashing parameters
+
+include: hashing-parameters
+
+
+### Instance
+
+snippet: UseParametersHashInstanceTUnit
+
+
+### Fluent
+
+snippet: UseParametersHashFluentTUnit
diff --git a/docs/mdsource/parameterised-xunitv2.source.md b/docs/mdsource/parameterised-xunitv2.source.md
new file mode 100644
index 0000000000..a6dad3df36
--- /dev/null
+++ b/docs/mdsource/parameterised-xunitv2.source.md
@@ -0,0 +1,120 @@
+# Xunit V2 Parameterised Tests
+
+
+## UseParameters()
+
+`UseParameters()` controls what parameters are used when naming files.
+
+Verify.Xunit does not detect the parametrised arguments, as such `UseParameters()` is required.
+
+
+### Usage:
+
+For the above scenarios where parameters are not automatically detected:
+
+snippet: UseParametersXunit
+
+If not all parameters are required, a subset can be passed in. In this scenario, the parameters passed in will match with the method parameter names from the start. For example the following will result in a file named `ParametersSample.UseParametersSubSet_arg1=Value1_arg2=Value2.verified.txt`
+
+snippet: UseParametersSubSetXunit
+
+If the number of parameters passed to `UseParameters()` is greater than the number of parameters in the test method, an exception will be thrown.
+
+
+### InlineData
+
+
+#### Instance
+
+snippet: InlineDataInstanceXunit
+
+
+#### Fluent
+
+snippet: InlineDataFluentXunit
+
+
+### MemberData
+
+Given the following MemberData
+
+snippet: MemberDataGetDataXunit
+
+
+#### Instance
+
+snippet: MemberDataInstanceXunit
+
+
+#### Fluent
+
+snippet: MemberDataFluentXunit
+
+
+### Complex MemberData
+
+xUnit only exposes parameter information for certain types. For unknown types the information cannot be retrieved from the xUnit context, and instead the text for the parameter value needs to be explicitly specified. This is done by calling `NameForParameter()`.
+
+snippet: ComplexMemberDataXunit
+
+`VerifierSettings.NameForParameter()` is required since the parameter type has no `ToString()` override that can be used for deriving the name of the `.verified.` file.
+
+
+## Overriding text used for parameters
+
+include: override-parameters-text
+
+
+### Instance
+
+snippet: UseTextForParametersInstanceXunit
+
+
+### Fluent
+
+snippet: UseTextForParametersFluentXunit
+
+
+## Ignore parameters for verified filename
+
+include: ignore-parameters
+
+
+### Instance
+
+snippet: IgnoreParametersForVerifiedXunit
+
+
+### Fluent
+
+snippet: IgnoreParametersForVerifiedFluentXunit
+
+
+## IgnoreParametersForVerified with override parameters
+
+The parameters passed to IgnoreParametersForVerified can be used pass custom parameters to [UseParameters](#UseParameters).
+
+
+### Instance
+
+snippet: IgnoreParametersForVerifiedCustomParamsXunit
+
+
+### Fluent
+
+snippet: IgnoreParametersForVerifiedCustomParamsFluentXunit
+
+
+## Hashing parameters
+
+include: hashing-parameters
+
+
+### Instance
+
+snippet: UseParametersHashInstanceXunit
+
+
+### Fluent
+
+snippet: UseParametersHashFluentXunit
\ No newline at end of file
diff --git a/docs/mdsource/parameterised-xunitv3.source.md b/docs/mdsource/parameterised-xunitv3.source.md
new file mode 100644
index 0000000000..e3c2300c37
--- /dev/null
+++ b/docs/mdsource/parameterised-xunitv3.source.md
@@ -0,0 +1,100 @@
+# Xunit V3 Parameterised Tests
+
+
+## UseParameters()
+
+`UseParameters()` controls what parameters are used when naming files.
+
+Verify.XunitV3 Automatically detect the method parameters for built in types (string, int, bool etc), but for complex parameters `UseParameters()` is required.
+
+
+### Usage:
+
+For the above scenarios where parameters are not automatically detected:
+
+snippet: UseParametersXunitV3
+
+If not all parameters are required, a subset can be passed in. In this scenario, the parameters passed in will match with the method parameter names from the start. For example the following will result in a file named `ParametersSample.UseParametersSubSet_arg1=Value1_arg2=Value2.verified.txt`
+
+snippet: UseParametersSubSetXunitV3
+
+If the number of parameters passed to `UseParameters()` is greater than the number of parameters in the test method, an exception will be thrown.
+
+
+### InlineData
+
+snippet: InlineDataXunitV3
+
+
+### MemberData
+
+snippet: MemberDataXunitV3
+
+
+### Complex MemberData
+
+xUnit only exposes parameter information for certain types. For unknown types the information cannot be retrieved from the xUnit context, and instead the text for the parameter value needs to be explicitly specified. This is done by calling `NameForParameter()`.
+
+snippet: xunitV3ComplexMemberData
+
+`VerifierSettings.NameForParameter()` is required since the parameter type has no `ToString()` override that can be used for deriving the name of the `.verified.` file.
+
+
+## Overriding text used for parameters
+
+include: override-parameters-text
+
+
+### Instance
+
+snippet: UseTextForParametersInstanceXunitV3
+
+
+### Fluent
+
+snippet: UseTextForParametersFluentXunitV3
+
+
+## Ignore parameters for verified filename
+
+include: ignore-parameters
+
+
+### Instance
+
+snippet: IgnoreParametersForVerifiedXunitV3
+
+
+### Fluent
+
+snippet: IgnoreParametersForVerifiedFluentXunit
+
+
+## IgnoreParametersForVerified with override parameters
+
+The parameters passed to IgnoreParametersForVerified can be used pass custom parameters to [UseParameters](#UseParameters).
+
+
+### Instance
+
+snippet: IgnoreParametersForVerifiedCustomParamsXunit
+
+
+### Fluent
+
+snippet: IgnoreParametersForVerifiedCustomParamsFluentXunit
+
+
+## Hashing parameters
+
+include: hashing-parameters
+
+
+### Instance
+
+snippet: UseParametersHashInstanceXunitV3
+
+
+### Fluent
+
+snippet: UseParametersHashFluentXunitV3
\ No newline at end of file
diff --git a/docs/mdsource/parameterised.source.md b/docs/mdsource/parameterised.source.md
index a7b60c0260..7e735c757f 100644
--- a/docs/mdsource/parameterised.source.md
+++ b/docs/mdsource/parameterised.source.md
@@ -1,253 +1,17 @@
# Parameterised Tests
+include: file-name-suffix
-## Additions to file name
-Every parameterised case should have a unique [file name](/docs/naming.md) with the parameters appended to the file name. This happens automatically for NUnit; xUnit and MSTest require the use of `UseParameters()` (see below).
+## Test frameworks:
-The appending format is `_ParamName=ParamValue` repeated for each parameter.
+Parameterised test usage differs based on the test framework used.
-A test with two parameters `param1` + `param2`, and called twice with the values `value1a` + `value2a` and `value1b` + `value2b` would have the following file names:
-
- * `MyTest.MyMethod_param1=value1a_param2=value2a.verified.txt`
- * `MyTest.MyMethod_param1=value1b_param2=value2b.verified.txt`
-
-
-### Invalid characters
-
-Characters that cannot be used for a file name are replaced with a dash (`-`).
-
-
-## UseParameters()
-
-`Verify.NUnit` and `Verify.Fixie` automatically detect the method parameters. So `UseParameters()` is not required unless using custom parameters.
-
-`UseParameters`() is used to control what parameters are used when naming files. The usual usage is to pass though all parameters (in the same order) that the test method accepts:
-
-snippet: UseParameters
-
-If not all parameters are required, a subset can be passed in. In this scenario, the parameters passed in will match with the method parameter names from the start. For example the following will result in a file named `ParametersSample.UseParametersSubSet_arg1=Value1_arg2=Value2.verified.txt`
-
-snippet: UseParametersSubSet
-
-If the number of parameters passed to `UseParameters()` is greater than the number of parameters in the test method, an exception will be thrown.
-
-
-## NUnit
-
-
-### TestCase
-
-snippet: NUnitTestCase
-
-
-### TestFixtureSourceUsage
-
-When using a [TestFixtureSource](https://docs.nunit.org/articles/nunit/writing-tests/attributes/testfixturesource.html) the the name provided by NUnit will be as the `TestMethodName`.
-
-snippet: TestFixtureSourceUsage.cs
-
-Produces `TestFixtureSourceUsage(Value1,1).Test.verified.txt` and `TestFixtureSourceUsage(Value2,2).Test.verified.txt`.
-
-
-## xUnit
-
-
-### InlineData
-
-snippet: xunitInlineData
-
-
-### MemberData
-
-snippet: xunitMemberData
-
-
-### Complex MemberData
-
-xUnit only exposes parameter information for certain types. For unknown types the information cannot be retrieved from the xUnit context, and instead the text for the parameter value needs to be explicitly specified. This is done by calling `NameForParameter()`.
-
-snippet: xunitComplexMemberData
-
-`VerifierSettings.NameForParameter()` is required since the parameter type has no `ToString()` override that can be used for deriving the name of the `.verified.` file.
-
-
-## Fixie
-
-Fixie has no build in test parameterisation. Test parameterisation need to be implemented by the consuming library. See [Attribute-Based Parameterization](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#recipe-attribute-based-parameterization) for an example.
-
-Verify.Fixie requires some customisation of the above example.
-
- * Inside `ITestProject.Configure` call `VerifierSettings.AssignTargetAssembly(environment.Assembly);`
- * Inside `IExecution.Run` wrap `test.Run` in `using (ExecutionState.Set(testClass, test, parameters))`
-
-Example implementation:
-
-snippet: TestProject.cs
-
-Resulting usage:
-
-snippet: FixieTestCase
-
-
-## MSTest
-
-
-### DataRow
-
-snippet: MSTestDataRow
-
-
-## Overriding text used for parameters
-
-`UseTextForParameters()` can be used to override the substitution text used for `{Parameters}`.
-
-```
-{Directory}/{TestClassName}.{TestMethodName}_{Parameters}_{UniqueFor1}_{UniqueFor2}_{UniqueForX}.verified.{extension}
-```
-
-snippet: UseTextForParameters
-
-Results in:
-
- * TheTest.UseTextForParameters_Value1.verified.txt
- * TheTest.UseTextForParameters_Value2.verified.txt
- * TheTest.UseTextForParametersFluent_Value1.verified.txt
- * TheTest.UseTextForParametersFluent_Value2.verified.txt
-
-
-## Ignore parameters for verified filename
-
-By default, Verify expects every parameterised case to have a unique [file name](/docs/naming.md) with the parameters appended to the file name. This behavior can be overridden by using `IgnoreParametersForVerified()`. In this case, the verified file name does not contain the parameter values, meaning it is the same for each testcase.
-
-`IgnoreParametersForVerified` accepts an array for passing through the parameters. These values are pssed to [UseParameters](#UseParameters). This is required for MSTest, xUnit, and NUnit. Parameters should not be passed for NUnit and Fixie since they are automatically detected.
-
-The below samples produce:
-
-For the instance case:
-
- * NamerTests.IgnoreParametersForVerified_arg=One.received.txt
- * NamerTests.IgnoreParametersForVerified_arg=Two.received.txt
- * NamerTests.IgnoreParametersForVerified.verified.txt
-
-For the fluent case:
-
- * NamerTests.IgnoreParametersForVerifiedFluent_arg=One.received.txt
- * NamerTests.IgnoreParametersForVerifiedFluent_arg=Two.received.txt
- * NamerTests.IgnoreParametersForVerifiedFluent.verified.txt
-
-
-### xUnit
-
-
-#### Instance
-
-snippet: IgnoreParametersForVerifiedXunit
-
-
-#### Fluent
-
-snippet: IgnoreParametersForVerifiedFluentXunit
-
-
-### NUnit
-
-
-#### Instance
-
-snippet: IgnoreParametersForVerifiedNunit
-
-
-#### Fluent
-
-snippet: IgnoreParametersForVerifiedFluentNunit
-
-
-### MSTest
-
-
-#### Instance
-
-snippet: IgnoreParametersForVerifiedMsTest
-
-
-#### Fluent
-
-snippet: IgnoreParametersForVerifiedFluentMsTest
-
-
-## IgnoreParametersForVerified with override parameters
-
-The parameters passed to IgnoreParametersForVerified can be used pass custom parameters to [UseParameters](#UseParameters).
-
-
-### xUnit
-
-
-#### Instance
-
-snippet: IgnoreParametersForVerifiedCustomParamsXunit
-
-
-#### Fluent
-
-snippet: IgnoreParametersForVerifiedCustomParamsFluentXunit
-
-
-### NUnit
-
-
-#### Instance
-
-snippet: IgnoreParametersForVerifiedCustomParamsNunit
-
-
-#### Fluent
-
-snippet: IgnoreParametersForVerifiedCustomParamsFluentNunit
-
-
-### MSTest
-
-
-#### Instance
-
-snippet: IgnoreParametersForVerifiedCustomParamsMsTest
-
-
-#### Fluent
-
-snippet: IgnoreParametersForVerifiedCustomParamsFluentMsTest
-
-
-## Hashing parameters
-
-Parameters can be hashed as an alternative to being stringified. This is useful when the parameters are large and could potentially generate file names that exceed allowances of the OS.
-
-Hashing parameter is achieved by using `UseParameters` in combination with `HashParameters`. Alternatively `UseHashedParameters` can be used as a wrapper for those two method calls.
-
-[Overriding text used for parameters](#overriding-text-used-for-parameters) is respected when generating the hash.
-
-[XxHash64](https://learn.microsoft.com/en-us/dotnet/api/system.io.hashing.xxhash64) is used to perform the hash.
-
-
-### MSTest
-
-snippet: UseParametersHashMsTest
-
-
-### NUnit
-
-snippet: UseParametersHashNunit
-
-Note that NUnit can derive the parameters without explicitly passing them.
-
-
-### xUnit
-
-snippet: UseParametersHashXunit
-
-
-### Globally
-
-snippet: StaticHashParameters
\ No newline at end of file
+ * [NUnit](parameterised-nunit.md)
+ * [Xunit V2](parameterised-xunitv2.md)
+ * [Xunit V3](parameterised-xunitv3.md)
+ * [MSTest](parameterised-mstest.md)
+ * [TUnit](parameterised-tunit.md)
+ * [MSTest](parameterised-mstest.md)
+ * [Fixie](parameterised-fixie.md)
+ * [Expecto](parameterised-expecto.md)
\ No newline at end of file
diff --git a/docs/mdsource/recording.source.md b/docs/mdsource/recording.source.md
index 37924ca8f7..f543c2fde9 100644
--- a/docs/mdsource/recording.source.md
+++ b/docs/mdsource/recording.source.md
@@ -51,6 +51,8 @@ To avoid grouping use [Stop](#stop).
Recording can be grouped by an identifier.
+The identifier should be statically unique. For example a fully qualified test name or a GUID.
+
snippet: RecordingIdentifier
Results in:
diff --git a/docs/mdsource/scrubbers.source.md b/docs/mdsource/scrubbers.source.md
index 3734b56dde..46ef63f735 100644
--- a/docs/mdsource/scrubbers.source.md
+++ b/docs/mdsource/scrubbers.source.md
@@ -116,6 +116,11 @@ snippet: ScrubbersSampleFixie
snippet: ScrubbersSampleMSTest
+### TUnit
+
+snippet: ScrubbersSampleTUnit
+
+
### Results
snippet: Verify.Xunit.Tests/Scrubbers/ScrubbersSample.Lines.verified.txt
@@ -152,6 +157,11 @@ snippet: ScrubberLevelsSampleFixie
snippet: ScrubberLevelsSampleMSTest
+### TUnit
+
+snippet: ScrubberLevelsSampleTUnit
+
+
### Result
snippet: Verify.Xunit.Tests/Scrubbers/ScrubberLevelsSample.Usage.verified.txt
diff --git a/docs/mdsource/text-file-settings.include.md b/docs/mdsource/text-file-settings.include.md
index 91ccb97bed..cd13ff962f 100644
--- a/docs/mdsource/text-file-settings.include.md
+++ b/docs/mdsource/text-file-settings.include.md
@@ -7,7 +7,7 @@ Text variants of verified and received have the following characteristics:
This manifests in several ways:
-**Source control settings**
+#### Source control settings
All text extensions of `*.verified.*` should have:
@@ -22,13 +22,13 @@ eg add the following to `.gitattributes`
*.verified.json text eol=lf working-tree-encoding=UTF-8
```
-**EditorConfig settings**
+#### EditorConfig settings
If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
```
# Verify settings
-[*.{received,verified}.{txt,xml,json}]
+[*.{received,verified}.{json,txt,xml}]
charset = "utf-8-bom"
end_of_line = lf
indent_size = unset
@@ -39,4 +39,4 @@ trim_trailing_whitespace = false
```
-*Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.*
\ No newline at end of file
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
\ No newline at end of file
diff --git a/docs/mdsource/verify-directory.source.md b/docs/mdsource/verify-directory.source.md
index bb30961a08..2aafc0982e 100644
--- a/docs/mdsource/verify-directory.source.md
+++ b/docs/mdsource/verify-directory.source.md
@@ -2,25 +2,25 @@
Verifies all files in a directory. This approach combines [UseUniqueDirectory](/docs/naming.md#useuniquedirectory) with a target per file, to snapshot test all files in a directory.
-snippet: VerifyDirectoryXunit
+snippet: VerifyDirectoryXunitV3
## Filtering
-snippet: VerifyDirectoryFilterXunit
+snippet: VerifyDirectoryFilterXunitV3
## Optional Info
An optional `info` parameter can be supplied to add more context to the test. The instance passed will be json serialized.
-snippet: VerifyDirectoryWithInfo
+snippet: VerifyZipWithStructureXunitV3
## FileScrubber
`VerifyDirectory` has an optional parameter `fileScrubber` that allows file specific scrubbing:
-snippet: VerifyDirectoryWithFileScrubber
+snippet: VerifyDirectoryWithFileScrubberXunitV3
-This applies to files where the extensins is a known text file as defined by [FileExtensions.IsText](https://github.com/VerifyTests/EmptyFiles#istext).
\ No newline at end of file
+This applies to files where the extensions is a known text file as defined by [FileExtensions.IsText](https://github.com/VerifyTests/EmptyFiles#istext).
\ No newline at end of file
diff --git a/docs/mdsource/verify-file.source.md b/docs/mdsource/verify-file.source.md
index b9b7b3f057..35be66d592 100644
--- a/docs/mdsource/verify-file.source.md
+++ b/docs/mdsource/verify-file.source.md
@@ -12,13 +12,19 @@ An optional `info` parameter can be supplied to add more context to the test. Th
snippet: VerifyFileWithInfo
+## Using a custom extension
+
+snippet: VerifyFileExtension
+
+
## Verify a file without using a unit test
Use the functionality of VerifyTests outside of a unit test.
snippet: VerifyFileWithoutUnitTest
+Result:
-### Using a custom extension
-
-snippet: VerifyFileExtension
\ No newline at end of file
+```
+{targetDirectory}/sample.verified.txt
+```
\ No newline at end of file
diff --git a/docs/mdsource/verify-options.source.md b/docs/mdsource/verify-options.source.md
index 0a1edff688..3bf69912aa 100644
--- a/docs/mdsource/verify-options.source.md
+++ b/docs/mdsource/verify-options.source.md
@@ -36,7 +36,7 @@ snippet: StaticAutoVerify
Or with a delegate:
-snippet: StaticAutoVerify
+snippet: StaticAutoVerifyDelegate
## OnHandlers
@@ -71,4 +71,4 @@ By default, when a verify mismatch occurs for text, the content of the received
To disable diff launching:
-snippet: DisableDiff
\ No newline at end of file
+snippet: DisableDiff
diff --git a/docs/mdsource/verify-zip.source.md b/docs/mdsource/verify-zip.source.md
index e8ab11c6b3..8f978aaf3c 100644
--- a/docs/mdsource/verify-zip.source.md
+++ b/docs/mdsource/verify-zip.source.md
@@ -2,25 +2,32 @@
Verifies all files in a zip archive. This approach combines [UseUniqueDirectory](/docs/naming.md#useuniquedirectory) with a target per file, to snapshot test all files in a zip archive.
-snippet: VerifyZipXunit
+snippet: VerifyZipXunitV3
## Filtering
-snippet: VerifyZipFilterXunit
+snippet: VerifyZipFilterXunitV3
## Optional Info
An optional `info` parameter can be supplied to add more context to the test. The instance passed will be json serialized.
-snippet: VerifyZipWithInfo
+snippet: VerifyZipWithInfoXunitV3
## FileScrubber
-`VerifyDirectory` has an optional parameter `fileScrubber` that allows file specific scrubbing:
+`VerifyZip` has an optional parameter `fileScrubber` that allows file specific scrubbing:
-snippet: VerifyZipWithFileScrubber
+snippet: VerifyZipWithFileScrubberXunitV3
-This applies to files where the extensins is a known text file as defined by [FileExtensions.IsText](https://github.com/VerifyTests/EmptyFiles#istext).
\ No newline at end of file
+This applies to files where the extensions is a known text file as defined by [FileExtensions.IsText](https://github.com/VerifyTests/EmptyFiles#istext).
+
+
+## Including structure
+
+Use `includeStructure: true` to include a file `structure.verified.md` that contains the zip directory structure.
+
+snippet: VerifyZipWithStructureXunitV3
\ No newline at end of file
diff --git a/docs/mdsource/wiz/Linux_Other_Cli.source.md b/docs/mdsource/wiz/Linux_Other_Cli.source.md
index ef51afd627..41a0e8b940 100644
--- a/docs/mdsource/wiz/Linux_Other_Cli.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Cli.source.md
@@ -6,7 +6,9 @@
Options:
* [Xunit](Linux_Other_Cli_Xunit.md)
+ * [XunitV3](Linux_Other_Cli_XunitV3.md)
* [NUnit](Linux_Other_Cli_NUnit.md)
+ * [TUnit](Linux_Other_Cli_TUnit.md)
* [Fixie](Linux_Other_Cli_Fixie.md)
* [MSTest](Linux_Other_Cli_MSTest.md)
* [Expecto](Linux_Other_Cli_Expecto.md)
diff --git a/docs/mdsource/wiz/Linux_Other_Cli_Expecto_AppVeyor.source.md b/docs/mdsource/wiz/Linux_Other_Cli_Expecto_AppVeyor.source.md
index cf313a51b8..46cce26138 100644
--- a/docs/mdsource/wiz/Linux_Other_Cli_Expecto_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Cli_Expecto_AppVeyor.source.md
@@ -17,16 +17,25 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Cli_Expecto_AzureDevOps.source.md b/docs/mdsource/wiz/Linux_Other_Cli_Expecto_AzureDevOps.source.md
index 51e0c87c03..658067a4f8 100644
--- a/docs/mdsource/wiz/Linux_Other_Cli_Expecto_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Cli_Expecto_AzureDevOps.source.md
@@ -17,16 +17,25 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Cli_Expecto_GitHubActions.source.md b/docs/mdsource/wiz/Linux_Other_Cli_Expecto_GitHubActions.source.md
index 430c6f412d..ac4f65dc0a 100644
--- a/docs/mdsource/wiz/Linux_Other_Cli_Expecto_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Cli_Expecto_GitHubActions.source.md
@@ -17,16 +17,25 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Cli_Expecto_None.source.md b/docs/mdsource/wiz/Linux_Other_Cli_Expecto_None.source.md
index 86b5236a2c..df35c6cba3 100644
--- a/docs/mdsource/wiz/Linux_Other_Cli_Expecto_None.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Cli_Expecto_None.source.md
@@ -17,16 +17,25 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Cli_Fixie_AppVeyor.source.md b/docs/mdsource/wiz/Linux_Other_Cli_Fixie_AppVeyor.source.md
index 6070c92690..89b50a5101 100644
--- a/docs/mdsource/wiz/Linux_Other_Cli_Fixie_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Cli_Fixie_AppVeyor.source.md
@@ -16,16 +16,25 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
@@ -66,6 +75,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Linux_Other_Cli_Fixie_AzureDevOps.source.md b/docs/mdsource/wiz/Linux_Other_Cli_Fixie_AzureDevOps.source.md
index 36e6ae684e..3abdf04925 100644
--- a/docs/mdsource/wiz/Linux_Other_Cli_Fixie_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Cli_Fixie_AzureDevOps.source.md
@@ -16,16 +16,25 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
@@ -66,6 +75,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Linux_Other_Cli_Fixie_GitHubActions.source.md b/docs/mdsource/wiz/Linux_Other_Cli_Fixie_GitHubActions.source.md
index eaa1b42370..3e25eb892e 100644
--- a/docs/mdsource/wiz/Linux_Other_Cli_Fixie_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Cli_Fixie_GitHubActions.source.md
@@ -16,16 +16,25 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
@@ -66,6 +75,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Linux_Other_Cli_Fixie_None.source.md b/docs/mdsource/wiz/Linux_Other_Cli_Fixie_None.source.md
index 31133a0ea3..d425b2a942 100644
--- a/docs/mdsource/wiz/Linux_Other_Cli_Fixie_None.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Cli_Fixie_None.source.md
@@ -16,16 +16,25 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
@@ -66,6 +75,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Linux_Other_Cli_MSTest_AppVeyor.source.md b/docs/mdsource/wiz/Linux_Other_Cli_MSTest_AppVeyor.source.md
index 621a88aeca..556d21a2da 100644
--- a/docs/mdsource/wiz/Linux_Other_Cli_MSTest_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Cli_MSTest_AppVeyor.source.md
@@ -18,16 +18,25 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Cli_MSTest_AzureDevOps.source.md b/docs/mdsource/wiz/Linux_Other_Cli_MSTest_AzureDevOps.source.md
index c75aa51d5d..a7f8de93b9 100644
--- a/docs/mdsource/wiz/Linux_Other_Cli_MSTest_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Cli_MSTest_AzureDevOps.source.md
@@ -18,16 +18,25 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Cli_MSTest_GitHubActions.source.md b/docs/mdsource/wiz/Linux_Other_Cli_MSTest_GitHubActions.source.md
index 113cd372f6..32ff7ac636 100644
--- a/docs/mdsource/wiz/Linux_Other_Cli_MSTest_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Cli_MSTest_GitHubActions.source.md
@@ -18,16 +18,25 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Cli_MSTest_None.source.md b/docs/mdsource/wiz/Linux_Other_Cli_MSTest_None.source.md
index e0dc71b4ee..dc56054794 100644
--- a/docs/mdsource/wiz/Linux_Other_Cli_MSTest_None.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Cli_MSTest_None.source.md
@@ -18,16 +18,25 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Cli_NUnit_AppVeyor.source.md b/docs/mdsource/wiz/Linux_Other_Cli_NUnit_AppVeyor.source.md
index f4aef16156..3e8e0a11d4 100644
--- a/docs/mdsource/wiz/Linux_Other_Cli_NUnit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Cli_NUnit_AppVeyor.source.md
@@ -18,16 +18,25 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Cli_NUnit_AzureDevOps.source.md b/docs/mdsource/wiz/Linux_Other_Cli_NUnit_AzureDevOps.source.md
index a685b0fe7e..c9bb7ea534 100644
--- a/docs/mdsource/wiz/Linux_Other_Cli_NUnit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Cli_NUnit_AzureDevOps.source.md
@@ -18,16 +18,25 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Cli_NUnit_GitHubActions.source.md b/docs/mdsource/wiz/Linux_Other_Cli_NUnit_GitHubActions.source.md
index 7b8463d86b..b6ea267a2b 100644
--- a/docs/mdsource/wiz/Linux_Other_Cli_NUnit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Cli_NUnit_GitHubActions.source.md
@@ -18,16 +18,25 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Cli_NUnit_None.source.md b/docs/mdsource/wiz/Linux_Other_Cli_NUnit_None.source.md
index c712a20e09..45e90d9865 100644
--- a/docs/mdsource/wiz/Linux_Other_Cli_NUnit_None.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Cli_NUnit_None.source.md
@@ -18,16 +18,25 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Cli_TUnit.source.md b/docs/mdsource/wiz/Linux_Other_Cli_TUnit.source.md
new file mode 100644
index 0000000000..d9192cfe9d
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Other_Cli_TUnit.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer CLI](Linux_Other_Cli.md) > [TUnit](Linux_Other_Cli_TUnit.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Linux_Other_Cli_TUnit_AppVeyor.md)
+ * [GitHub Actions](Linux_Other_Cli_TUnit_GitHubActions.md)
+ * [Azure DevOps](Linux_Other_Cli_TUnit_AzureDevOps.md)
+ * [No build server](Linux_Other_Cli_TUnit_None.md)
diff --git a/docs/mdsource/wiz/Linux_Other_Cli_TUnit_AppVeyor.source.md b/docs/mdsource/wiz/Linux_Other_Cli_TUnit_AppVeyor.source.md
new file mode 100644
index 0000000000..2003cfcb76
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Other_Cli_TUnit_AppVeyor.source.md
@@ -0,0 +1,93 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer CLI](Linux_Other_Cli.md) > [TUnit](Linux_Other_Cli_TUnit.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/Linux_Other_Cli_TUnit_AzureDevOps.source.md b/docs/mdsource/wiz/Linux_Other_Cli_TUnit_AzureDevOps.source.md
new file mode 100644
index 0000000000..a9a42b5b9d
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Other_Cli_TUnit_AzureDevOps.source.md
@@ -0,0 +1,93 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer CLI](Linux_Other_Cli.md) > [TUnit](Linux_Other_Cli_TUnit.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/Linux_Other_Cli_TUnit_GitHubActions.source.md b/docs/mdsource/wiz/Linux_Other_Cli_TUnit_GitHubActions.source.md
new file mode 100644
index 0000000000..f8c1525243
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Other_Cli_TUnit_GitHubActions.source.md
@@ -0,0 +1,93 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer CLI](Linux_Other_Cli.md) > [TUnit](Linux_Other_Cli_TUnit.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/Linux_Other_Cli_TUnit_None.source.md b/docs/mdsource/wiz/Linux_Other_Cli_TUnit_None.source.md
new file mode 100644
index 0000000000..fc8c16c4a0
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Other_Cli_TUnit_None.source.md
@@ -0,0 +1,89 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer CLI](Linux_Other_Cli.md) > [TUnit](Linux_Other_Cli_TUnit.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/Linux_Other_Cli_XunitV3.source.md b/docs/mdsource/wiz/Linux_Other_Cli_XunitV3.source.md
new file mode 100644
index 0000000000..1f902cf909
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Other_Cli_XunitV3.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer CLI](Linux_Other_Cli.md) > [XunitV3](Linux_Other_Cli_XunitV3.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Linux_Other_Cli_XunitV3_AppVeyor.md)
+ * [GitHub Actions](Linux_Other_Cli_XunitV3_GitHubActions.md)
+ * [Azure DevOps](Linux_Other_Cli_XunitV3_AzureDevOps.md)
+ * [No build server](Linux_Other_Cli_XunitV3_None.md)
diff --git a/docs/mdsource/wiz/Linux_Other_Cli_XunitV3_AppVeyor.source.md b/docs/mdsource/wiz/Linux_Other_Cli_XunitV3_AppVeyor.source.md
new file mode 100644
index 0000000000..9afb9f12d2
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Other_Cli_XunitV3_AppVeyor.source.md
@@ -0,0 +1,95 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer CLI](Linux_Other_Cli.md) > [XunitV3](Linux_Other_Cli_XunitV3.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/Linux_Other_Cli_XunitV3_AzureDevOps.source.md b/docs/mdsource/wiz/Linux_Other_Cli_XunitV3_AzureDevOps.source.md
new file mode 100644
index 0000000000..aa9586722c
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Other_Cli_XunitV3_AzureDevOps.source.md
@@ -0,0 +1,95 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer CLI](Linux_Other_Cli.md) > [XunitV3](Linux_Other_Cli_XunitV3.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/Linux_Other_Cli_XunitV3_GitHubActions.source.md b/docs/mdsource/wiz/Linux_Other_Cli_XunitV3_GitHubActions.source.md
new file mode 100644
index 0000000000..5ae4edea9d
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Other_Cli_XunitV3_GitHubActions.source.md
@@ -0,0 +1,95 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer CLI](Linux_Other_Cli.md) > [XunitV3](Linux_Other_Cli_XunitV3.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/Linux_Other_Cli_XunitV3_None.source.md b/docs/mdsource/wiz/Linux_Other_Cli_XunitV3_None.source.md
new file mode 100644
index 0000000000..aab09a6b2d
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Other_Cli_XunitV3_None.source.md
@@ -0,0 +1,91 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer CLI](Linux_Other_Cli.md) > [XunitV3](Linux_Other_Cli_XunitV3.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/Linux_Other_Cli_Xunit_AppVeyor.source.md b/docs/mdsource/wiz/Linux_Other_Cli_Xunit_AppVeyor.source.md
index ceb8e43974..41e4b0efd4 100644
--- a/docs/mdsource/wiz/Linux_Other_Cli_Xunit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Cli_Xunit_AppVeyor.source.md
@@ -18,16 +18,25 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Cli_Xunit_AzureDevOps.source.md b/docs/mdsource/wiz/Linux_Other_Cli_Xunit_AzureDevOps.source.md
index df02c6f171..ca2d5ccf99 100644
--- a/docs/mdsource/wiz/Linux_Other_Cli_Xunit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Cli_Xunit_AzureDevOps.source.md
@@ -18,16 +18,25 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Cli_Xunit_GitHubActions.source.md b/docs/mdsource/wiz/Linux_Other_Cli_Xunit_GitHubActions.source.md
index 2749e7aa68..e4bf857972 100644
--- a/docs/mdsource/wiz/Linux_Other_Cli_Xunit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Cli_Xunit_GitHubActions.source.md
@@ -18,16 +18,25 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Cli_Xunit_None.source.md b/docs/mdsource/wiz/Linux_Other_Cli_Xunit_None.source.md
index 0082fcbcd3..0750a12426 100644
--- a/docs/mdsource/wiz/Linux_Other_Cli_Xunit_None.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Cli_Xunit_None.source.md
@@ -18,16 +18,25 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Gui.source.md b/docs/mdsource/wiz/Linux_Other_Gui.source.md
index 05ee286c88..91a69863b5 100644
--- a/docs/mdsource/wiz/Linux_Other_Gui.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Gui.source.md
@@ -6,7 +6,9 @@
Options:
* [Xunit](Linux_Other_Gui_Xunit.md)
+ * [XunitV3](Linux_Other_Gui_XunitV3.md)
* [NUnit](Linux_Other_Gui_NUnit.md)
+ * [TUnit](Linux_Other_Gui_TUnit.md)
* [Fixie](Linux_Other_Gui_Fixie.md)
* [MSTest](Linux_Other_Gui_MSTest.md)
* [Expecto](Linux_Other_Gui_Expecto.md)
diff --git a/docs/mdsource/wiz/Linux_Other_Gui_Expecto_AppVeyor.source.md b/docs/mdsource/wiz/Linux_Other_Gui_Expecto_AppVeyor.source.md
index d9ef582f4e..137e364ab5 100644
--- a/docs/mdsource/wiz/Linux_Other_Gui_Expecto_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Gui_Expecto_AppVeyor.source.md
@@ -15,16 +15,25 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Gui_Expecto_AzureDevOps.source.md b/docs/mdsource/wiz/Linux_Other_Gui_Expecto_AzureDevOps.source.md
index b69387473d..58dab2033d 100644
--- a/docs/mdsource/wiz/Linux_Other_Gui_Expecto_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Gui_Expecto_AzureDevOps.source.md
@@ -15,16 +15,25 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Gui_Expecto_GitHubActions.source.md b/docs/mdsource/wiz/Linux_Other_Gui_Expecto_GitHubActions.source.md
index 891d622664..0017c36891 100644
--- a/docs/mdsource/wiz/Linux_Other_Gui_Expecto_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Gui_Expecto_GitHubActions.source.md
@@ -15,16 +15,25 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Gui_Expecto_None.source.md b/docs/mdsource/wiz/Linux_Other_Gui_Expecto_None.source.md
index 2accbde2fb..54f0bca2bf 100644
--- a/docs/mdsource/wiz/Linux_Other_Gui_Expecto_None.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Gui_Expecto_None.source.md
@@ -15,16 +15,25 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Gui_Fixie_AppVeyor.source.md b/docs/mdsource/wiz/Linux_Other_Gui_Fixie_AppVeyor.source.md
index e34eddb091..cc45751610 100644
--- a/docs/mdsource/wiz/Linux_Other_Gui_Fixie_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Gui_Fixie_AppVeyor.source.md
@@ -15,16 +15,25 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
@@ -53,6 +62,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Linux_Other_Gui_Fixie_AzureDevOps.source.md b/docs/mdsource/wiz/Linux_Other_Gui_Fixie_AzureDevOps.source.md
index 8e4ba84894..7a6c41ff35 100644
--- a/docs/mdsource/wiz/Linux_Other_Gui_Fixie_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Gui_Fixie_AzureDevOps.source.md
@@ -15,16 +15,25 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
@@ -53,6 +62,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Linux_Other_Gui_Fixie_GitHubActions.source.md b/docs/mdsource/wiz/Linux_Other_Gui_Fixie_GitHubActions.source.md
index 9b13c385bb..721b183018 100644
--- a/docs/mdsource/wiz/Linux_Other_Gui_Fixie_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Gui_Fixie_GitHubActions.source.md
@@ -15,16 +15,25 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
@@ -53,6 +62,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Linux_Other_Gui_Fixie_None.source.md b/docs/mdsource/wiz/Linux_Other_Gui_Fixie_None.source.md
index 9e139c9fb9..b18ab14b3b 100644
--- a/docs/mdsource/wiz/Linux_Other_Gui_Fixie_None.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Gui_Fixie_None.source.md
@@ -15,16 +15,25 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
@@ -53,6 +62,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Linux_Other_Gui_MSTest_AppVeyor.source.md b/docs/mdsource/wiz/Linux_Other_Gui_MSTest_AppVeyor.source.md
index a4a29c0664..754beaae8a 100644
--- a/docs/mdsource/wiz/Linux_Other_Gui_MSTest_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Gui_MSTest_AppVeyor.source.md
@@ -15,16 +15,25 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Gui_MSTest_AzureDevOps.source.md b/docs/mdsource/wiz/Linux_Other_Gui_MSTest_AzureDevOps.source.md
index 9a2becab78..65f1fd63ba 100644
--- a/docs/mdsource/wiz/Linux_Other_Gui_MSTest_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Gui_MSTest_AzureDevOps.source.md
@@ -15,16 +15,25 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Gui_MSTest_GitHubActions.source.md b/docs/mdsource/wiz/Linux_Other_Gui_MSTest_GitHubActions.source.md
index 9d541a1297..aba715ac84 100644
--- a/docs/mdsource/wiz/Linux_Other_Gui_MSTest_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Gui_MSTest_GitHubActions.source.md
@@ -15,16 +15,25 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Gui_MSTest_None.source.md b/docs/mdsource/wiz/Linux_Other_Gui_MSTest_None.source.md
index 7529e491ad..dee5b08737 100644
--- a/docs/mdsource/wiz/Linux_Other_Gui_MSTest_None.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Gui_MSTest_None.source.md
@@ -15,16 +15,25 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Gui_NUnit_AppVeyor.source.md b/docs/mdsource/wiz/Linux_Other_Gui_NUnit_AppVeyor.source.md
index b4be0e55e3..14be3e846e 100644
--- a/docs/mdsource/wiz/Linux_Other_Gui_NUnit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Gui_NUnit_AppVeyor.source.md
@@ -15,16 +15,25 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Gui_NUnit_AzureDevOps.source.md b/docs/mdsource/wiz/Linux_Other_Gui_NUnit_AzureDevOps.source.md
index 3bbccb3181..618835b391 100644
--- a/docs/mdsource/wiz/Linux_Other_Gui_NUnit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Gui_NUnit_AzureDevOps.source.md
@@ -15,16 +15,25 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Gui_NUnit_GitHubActions.source.md b/docs/mdsource/wiz/Linux_Other_Gui_NUnit_GitHubActions.source.md
index e383f479d5..aada5152ec 100644
--- a/docs/mdsource/wiz/Linux_Other_Gui_NUnit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Gui_NUnit_GitHubActions.source.md
@@ -15,16 +15,25 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Gui_NUnit_None.source.md b/docs/mdsource/wiz/Linux_Other_Gui_NUnit_None.source.md
index 14e8487e69..ae670f96e6 100644
--- a/docs/mdsource/wiz/Linux_Other_Gui_NUnit_None.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Gui_NUnit_None.source.md
@@ -15,16 +15,25 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Gui_TUnit.source.md b/docs/mdsource/wiz/Linux_Other_Gui_TUnit.source.md
new file mode 100644
index 0000000000..f767037284
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Other_Gui_TUnit.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer GUI](Linux_Other_Gui.md) > [TUnit](Linux_Other_Gui_TUnit.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Linux_Other_Gui_TUnit_AppVeyor.md)
+ * [GitHub Actions](Linux_Other_Gui_TUnit_GitHubActions.md)
+ * [Azure DevOps](Linux_Other_Gui_TUnit_AzureDevOps.md)
+ * [No build server](Linux_Other_Gui_TUnit_None.md)
diff --git a/docs/mdsource/wiz/Linux_Other_Gui_TUnit_AppVeyor.source.md b/docs/mdsource/wiz/Linux_Other_Gui_TUnit_AppVeyor.source.md
new file mode 100644
index 0000000000..ae6767260a
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Other_Gui_TUnit_AppVeyor.source.md
@@ -0,0 +1,80 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer GUI](Linux_Other_Gui.md) > [TUnit](Linux_Other_Gui_TUnit.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/Linux_Other_Gui_TUnit_AzureDevOps.source.md b/docs/mdsource/wiz/Linux_Other_Gui_TUnit_AzureDevOps.source.md
new file mode 100644
index 0000000000..92f6e6c44e
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Other_Gui_TUnit_AzureDevOps.source.md
@@ -0,0 +1,80 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer GUI](Linux_Other_Gui.md) > [TUnit](Linux_Other_Gui_TUnit.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/Linux_Other_Gui_TUnit_GitHubActions.source.md b/docs/mdsource/wiz/Linux_Other_Gui_TUnit_GitHubActions.source.md
new file mode 100644
index 0000000000..7157a629ae
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Other_Gui_TUnit_GitHubActions.source.md
@@ -0,0 +1,80 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer GUI](Linux_Other_Gui.md) > [TUnit](Linux_Other_Gui_TUnit.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/Linux_Other_Gui_TUnit_None.source.md b/docs/mdsource/wiz/Linux_Other_Gui_TUnit_None.source.md
new file mode 100644
index 0000000000..ea4ab72743
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Other_Gui_TUnit_None.source.md
@@ -0,0 +1,76 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer GUI](Linux_Other_Gui.md) > [TUnit](Linux_Other_Gui_TUnit.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/Linux_Other_Gui_XunitV3.source.md b/docs/mdsource/wiz/Linux_Other_Gui_XunitV3.source.md
new file mode 100644
index 0000000000..85baeb52f5
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Other_Gui_XunitV3.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer GUI](Linux_Other_Gui.md) > [XunitV3](Linux_Other_Gui_XunitV3.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Linux_Other_Gui_XunitV3_AppVeyor.md)
+ * [GitHub Actions](Linux_Other_Gui_XunitV3_GitHubActions.md)
+ * [Azure DevOps](Linux_Other_Gui_XunitV3_AzureDevOps.md)
+ * [No build server](Linux_Other_Gui_XunitV3_None.md)
diff --git a/docs/mdsource/wiz/Linux_Other_Gui_XunitV3_AppVeyor.source.md b/docs/mdsource/wiz/Linux_Other_Gui_XunitV3_AppVeyor.source.md
new file mode 100644
index 0000000000..1443423f24
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Other_Gui_XunitV3_AppVeyor.source.md
@@ -0,0 +1,80 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer GUI](Linux_Other_Gui.md) > [XunitV3](Linux_Other_Gui_XunitV3.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/Linux_Other_Gui_XunitV3_AzureDevOps.source.md b/docs/mdsource/wiz/Linux_Other_Gui_XunitV3_AzureDevOps.source.md
new file mode 100644
index 0000000000..39127bb7a1
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Other_Gui_XunitV3_AzureDevOps.source.md
@@ -0,0 +1,80 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer GUI](Linux_Other_Gui.md) > [XunitV3](Linux_Other_Gui_XunitV3.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/Linux_Other_Gui_XunitV3_GitHubActions.source.md b/docs/mdsource/wiz/Linux_Other_Gui_XunitV3_GitHubActions.source.md
new file mode 100644
index 0000000000..98eb0deb87
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Other_Gui_XunitV3_GitHubActions.source.md
@@ -0,0 +1,80 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer GUI](Linux_Other_Gui.md) > [XunitV3](Linux_Other_Gui_XunitV3.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/Linux_Other_Gui_XunitV3_None.source.md b/docs/mdsource/wiz/Linux_Other_Gui_XunitV3_None.source.md
new file mode 100644
index 0000000000..85bf6a2391
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Other_Gui_XunitV3_None.source.md
@@ -0,0 +1,76 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer GUI](Linux_Other_Gui.md) > [XunitV3](Linux_Other_Gui_XunitV3.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/Linux_Other_Gui_Xunit_AppVeyor.source.md b/docs/mdsource/wiz/Linux_Other_Gui_Xunit_AppVeyor.source.md
index 224ef51a8f..5ea8e11ba6 100644
--- a/docs/mdsource/wiz/Linux_Other_Gui_Xunit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Gui_Xunit_AppVeyor.source.md
@@ -15,16 +15,25 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Gui_Xunit_AzureDevOps.source.md b/docs/mdsource/wiz/Linux_Other_Gui_Xunit_AzureDevOps.source.md
index d8feacd4d8..1e28aecb9e 100644
--- a/docs/mdsource/wiz/Linux_Other_Gui_Xunit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Gui_Xunit_AzureDevOps.source.md
@@ -15,16 +15,25 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Gui_Xunit_GitHubActions.source.md b/docs/mdsource/wiz/Linux_Other_Gui_Xunit_GitHubActions.source.md
index 46a8b35aaa..2fbb97b959 100644
--- a/docs/mdsource/wiz/Linux_Other_Gui_Xunit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Gui_Xunit_GitHubActions.source.md
@@ -15,16 +15,25 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Other_Gui_Xunit_None.source.md b/docs/mdsource/wiz/Linux_Other_Gui_Xunit_None.source.md
index dc60b99735..c26aff92f1 100644
--- a/docs/mdsource/wiz/Linux_Other_Gui_Xunit_None.source.md
+++ b/docs/mdsource/wiz/Linux_Other_Gui_Xunit_None.source.md
@@ -15,16 +15,25 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli.source.md b/docs/mdsource/wiz/Linux_Rider_Cli.source.md
index edd4d51f45..4ed93a21a8 100644
--- a/docs/mdsource/wiz/Linux_Rider_Cli.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Cli.source.md
@@ -6,7 +6,9 @@
Options:
* [Xunit](Linux_Rider_Cli_Xunit.md)
+ * [XunitV3](Linux_Rider_Cli_XunitV3.md)
* [NUnit](Linux_Rider_Cli_NUnit.md)
+ * [TUnit](Linux_Rider_Cli_TUnit.md)
* [Fixie](Linux_Rider_Cli_Fixie.md)
* [MSTest](Linux_Rider_Cli_MSTest.md)
* [Expecto](Linux_Rider_Cli_Expecto.md)
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli_Expecto_AppVeyor.source.md b/docs/mdsource/wiz/Linux_Rider_Cli_Expecto_AppVeyor.source.md
index f16c5f9912..41c833a2f1 100644
--- a/docs/mdsource/wiz/Linux_Rider_Cli_Expecto_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Cli_Expecto_AppVeyor.source.md
@@ -17,17 +17,26 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli_Expecto_AzureDevOps.source.md b/docs/mdsource/wiz/Linux_Rider_Cli_Expecto_AzureDevOps.source.md
index 08f0190ad8..3f1bfc55b2 100644
--- a/docs/mdsource/wiz/Linux_Rider_Cli_Expecto_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Cli_Expecto_AzureDevOps.source.md
@@ -17,17 +17,26 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli_Expecto_GitHubActions.source.md b/docs/mdsource/wiz/Linux_Rider_Cli_Expecto_GitHubActions.source.md
index a3f930b471..c3d84d0aac 100644
--- a/docs/mdsource/wiz/Linux_Rider_Cli_Expecto_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Cli_Expecto_GitHubActions.source.md
@@ -17,17 +17,26 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli_Expecto_None.source.md b/docs/mdsource/wiz/Linux_Rider_Cli_Expecto_None.source.md
index fd026bea96..dda7e1a891 100644
--- a/docs/mdsource/wiz/Linux_Rider_Cli_Expecto_None.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Cli_Expecto_None.source.md
@@ -17,17 +17,26 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli_Fixie_AppVeyor.source.md b/docs/mdsource/wiz/Linux_Rider_Cli_Fixie_AppVeyor.source.md
index 4d7cc5c3a7..9f414be156 100644
--- a/docs/mdsource/wiz/Linux_Rider_Cli_Fixie_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Cli_Fixie_AppVeyor.source.md
@@ -16,17 +16,26 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
@@ -77,6 +86,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli_Fixie_AzureDevOps.source.md b/docs/mdsource/wiz/Linux_Rider_Cli_Fixie_AzureDevOps.source.md
index dd8bae26db..a16b88502b 100644
--- a/docs/mdsource/wiz/Linux_Rider_Cli_Fixie_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Cli_Fixie_AzureDevOps.source.md
@@ -16,17 +16,26 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
@@ -77,6 +86,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli_Fixie_GitHubActions.source.md b/docs/mdsource/wiz/Linux_Rider_Cli_Fixie_GitHubActions.source.md
index 7f363e43ce..df7d319e86 100644
--- a/docs/mdsource/wiz/Linux_Rider_Cli_Fixie_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Cli_Fixie_GitHubActions.source.md
@@ -16,17 +16,26 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
@@ -77,6 +86,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli_Fixie_None.source.md b/docs/mdsource/wiz/Linux_Rider_Cli_Fixie_None.source.md
index d9a04f1333..bba00b982d 100644
--- a/docs/mdsource/wiz/Linux_Rider_Cli_Fixie_None.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Cli_Fixie_None.source.md
@@ -16,17 +16,26 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
@@ -77,6 +86,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli_MSTest_AppVeyor.source.md b/docs/mdsource/wiz/Linux_Rider_Cli_MSTest_AppVeyor.source.md
index f5ce4a4887..ec4114e376 100644
--- a/docs/mdsource/wiz/Linux_Rider_Cli_MSTest_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Cli_MSTest_AppVeyor.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli_MSTest_AzureDevOps.source.md b/docs/mdsource/wiz/Linux_Rider_Cli_MSTest_AzureDevOps.source.md
index 1792d77733..1f3c57fec7 100644
--- a/docs/mdsource/wiz/Linux_Rider_Cli_MSTest_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Cli_MSTest_AzureDevOps.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli_MSTest_GitHubActions.source.md b/docs/mdsource/wiz/Linux_Rider_Cli_MSTest_GitHubActions.source.md
index ad3c4669a4..1482e4db1d 100644
--- a/docs/mdsource/wiz/Linux_Rider_Cli_MSTest_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Cli_MSTest_GitHubActions.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli_MSTest_None.source.md b/docs/mdsource/wiz/Linux_Rider_Cli_MSTest_None.source.md
index 4208dfb908..0929fea042 100644
--- a/docs/mdsource/wiz/Linux_Rider_Cli_MSTest_None.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Cli_MSTest_None.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli_NUnit_AppVeyor.source.md b/docs/mdsource/wiz/Linux_Rider_Cli_NUnit_AppVeyor.source.md
index 937db30c7d..8ce4ec2ff6 100644
--- a/docs/mdsource/wiz/Linux_Rider_Cli_NUnit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Cli_NUnit_AppVeyor.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli_NUnit_AzureDevOps.source.md b/docs/mdsource/wiz/Linux_Rider_Cli_NUnit_AzureDevOps.source.md
index 079b7a35fd..99ab781ce5 100644
--- a/docs/mdsource/wiz/Linux_Rider_Cli_NUnit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Cli_NUnit_AzureDevOps.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli_NUnit_GitHubActions.source.md b/docs/mdsource/wiz/Linux_Rider_Cli_NUnit_GitHubActions.source.md
index f222d5dee4..bef365938f 100644
--- a/docs/mdsource/wiz/Linux_Rider_Cli_NUnit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Cli_NUnit_GitHubActions.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli_NUnit_None.source.md b/docs/mdsource/wiz/Linux_Rider_Cli_NUnit_None.source.md
index 6f27ce204b..cb927cc3df 100644
--- a/docs/mdsource/wiz/Linux_Rider_Cli_NUnit_None.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Cli_NUnit_None.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli_TUnit.source.md b/docs/mdsource/wiz/Linux_Rider_Cli_TUnit.source.md
new file mode 100644
index 0000000000..533f13c1fd
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Rider_Cli_TUnit.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer CLI](Linux_Rider_Cli.md) > [TUnit](Linux_Rider_Cli_TUnit.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Linux_Rider_Cli_TUnit_AppVeyor.md)
+ * [GitHub Actions](Linux_Rider_Cli_TUnit_GitHubActions.md)
+ * [Azure DevOps](Linux_Rider_Cli_TUnit_AzureDevOps.md)
+ * [No build server](Linux_Rider_Cli_TUnit_None.md)
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli_TUnit_AppVeyor.source.md b/docs/mdsource/wiz/Linux_Rider_Cli_TUnit_AppVeyor.source.md
new file mode 100644
index 0000000000..4ce1c7fef1
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Rider_Cli_TUnit_AppVeyor.source.md
@@ -0,0 +1,104 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer CLI](Linux_Rider_Cli.md) > [TUnit](Linux_Rider_Cli_TUnit.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli_TUnit_AzureDevOps.source.md b/docs/mdsource/wiz/Linux_Rider_Cli_TUnit_AzureDevOps.source.md
new file mode 100644
index 0000000000..23f970c64e
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Rider_Cli_TUnit_AzureDevOps.source.md
@@ -0,0 +1,104 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer CLI](Linux_Rider_Cli.md) > [TUnit](Linux_Rider_Cli_TUnit.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli_TUnit_GitHubActions.source.md b/docs/mdsource/wiz/Linux_Rider_Cli_TUnit_GitHubActions.source.md
new file mode 100644
index 0000000000..2700478108
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Rider_Cli_TUnit_GitHubActions.source.md
@@ -0,0 +1,104 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer CLI](Linux_Rider_Cli.md) > [TUnit](Linux_Rider_Cli_TUnit.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli_TUnit_None.source.md b/docs/mdsource/wiz/Linux_Rider_Cli_TUnit_None.source.md
new file mode 100644
index 0000000000..fbd3395edb
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Rider_Cli_TUnit_None.source.md
@@ -0,0 +1,100 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer CLI](Linux_Rider_Cli.md) > [TUnit](Linux_Rider_Cli_TUnit.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli_XunitV3.source.md b/docs/mdsource/wiz/Linux_Rider_Cli_XunitV3.source.md
new file mode 100644
index 0000000000..0bbd29f2d5
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Rider_Cli_XunitV3.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer CLI](Linux_Rider_Cli.md) > [XunitV3](Linux_Rider_Cli_XunitV3.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Linux_Rider_Cli_XunitV3_AppVeyor.md)
+ * [GitHub Actions](Linux_Rider_Cli_XunitV3_GitHubActions.md)
+ * [Azure DevOps](Linux_Rider_Cli_XunitV3_AzureDevOps.md)
+ * [No build server](Linux_Rider_Cli_XunitV3_None.md)
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli_XunitV3_AppVeyor.source.md b/docs/mdsource/wiz/Linux_Rider_Cli_XunitV3_AppVeyor.source.md
new file mode 100644
index 0000000000..4f3793c66c
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Rider_Cli_XunitV3_AppVeyor.source.md
@@ -0,0 +1,106 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer CLI](Linux_Rider_Cli.md) > [XunitV3](Linux_Rider_Cli_XunitV3.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli_XunitV3_AzureDevOps.source.md b/docs/mdsource/wiz/Linux_Rider_Cli_XunitV3_AzureDevOps.source.md
new file mode 100644
index 0000000000..89352cd2af
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Rider_Cli_XunitV3_AzureDevOps.source.md
@@ -0,0 +1,106 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer CLI](Linux_Rider_Cli.md) > [XunitV3](Linux_Rider_Cli_XunitV3.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli_XunitV3_GitHubActions.source.md b/docs/mdsource/wiz/Linux_Rider_Cli_XunitV3_GitHubActions.source.md
new file mode 100644
index 0000000000..f344b23f4f
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Rider_Cli_XunitV3_GitHubActions.source.md
@@ -0,0 +1,106 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer CLI](Linux_Rider_Cli.md) > [XunitV3](Linux_Rider_Cli_XunitV3.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli_XunitV3_None.source.md b/docs/mdsource/wiz/Linux_Rider_Cli_XunitV3_None.source.md
new file mode 100644
index 0000000000..b17405c35d
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Rider_Cli_XunitV3_None.source.md
@@ -0,0 +1,102 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer CLI](Linux_Rider_Cli.md) > [XunitV3](Linux_Rider_Cli_XunitV3.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli_Xunit_AppVeyor.source.md b/docs/mdsource/wiz/Linux_Rider_Cli_Xunit_AppVeyor.source.md
index 4b074d2211..9cb44e5b17 100644
--- a/docs/mdsource/wiz/Linux_Rider_Cli_Xunit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Cli_Xunit_AppVeyor.source.md
@@ -18,17 +18,26 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli_Xunit_AzureDevOps.source.md b/docs/mdsource/wiz/Linux_Rider_Cli_Xunit_AzureDevOps.source.md
index e420d489f4..093a7798d0 100644
--- a/docs/mdsource/wiz/Linux_Rider_Cli_Xunit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Cli_Xunit_AzureDevOps.source.md
@@ -18,17 +18,26 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli_Xunit_GitHubActions.source.md b/docs/mdsource/wiz/Linux_Rider_Cli_Xunit_GitHubActions.source.md
index 68daa58e6f..3315c1ee10 100644
--- a/docs/mdsource/wiz/Linux_Rider_Cli_Xunit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Cli_Xunit_GitHubActions.source.md
@@ -18,17 +18,26 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Cli_Xunit_None.source.md b/docs/mdsource/wiz/Linux_Rider_Cli_Xunit_None.source.md
index db36ddc868..a58834e68a 100644
--- a/docs/mdsource/wiz/Linux_Rider_Cli_Xunit_None.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Cli_Xunit_None.source.md
@@ -18,17 +18,26 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui.source.md b/docs/mdsource/wiz/Linux_Rider_Gui.source.md
index ca0ad9b3a8..88dcfdfc73 100644
--- a/docs/mdsource/wiz/Linux_Rider_Gui.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Gui.source.md
@@ -6,7 +6,9 @@
Options:
* [Xunit](Linux_Rider_Gui_Xunit.md)
+ * [XunitV3](Linux_Rider_Gui_XunitV3.md)
* [NUnit](Linux_Rider_Gui_NUnit.md)
+ * [TUnit](Linux_Rider_Gui_TUnit.md)
* [Fixie](Linux_Rider_Gui_Fixie.md)
* [MSTest](Linux_Rider_Gui_MSTest.md)
* [Expecto](Linux_Rider_Gui_Expecto.md)
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui_Expecto_AppVeyor.source.md b/docs/mdsource/wiz/Linux_Rider_Gui_Expecto_AppVeyor.source.md
index 2ce69e982d..fdd06bc531 100644
--- a/docs/mdsource/wiz/Linux_Rider_Gui_Expecto_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Gui_Expecto_AppVeyor.source.md
@@ -15,17 +15,26 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui_Expecto_AzureDevOps.source.md b/docs/mdsource/wiz/Linux_Rider_Gui_Expecto_AzureDevOps.source.md
index ff40f256c8..190b4f83a6 100644
--- a/docs/mdsource/wiz/Linux_Rider_Gui_Expecto_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Gui_Expecto_AzureDevOps.source.md
@@ -15,17 +15,26 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui_Expecto_GitHubActions.source.md b/docs/mdsource/wiz/Linux_Rider_Gui_Expecto_GitHubActions.source.md
index 6f6f52c9dd..d9322dcf4e 100644
--- a/docs/mdsource/wiz/Linux_Rider_Gui_Expecto_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Gui_Expecto_GitHubActions.source.md
@@ -15,17 +15,26 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui_Expecto_None.source.md b/docs/mdsource/wiz/Linux_Rider_Gui_Expecto_None.source.md
index c94f119d88..779108d173 100644
--- a/docs/mdsource/wiz/Linux_Rider_Gui_Expecto_None.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Gui_Expecto_None.source.md
@@ -15,17 +15,26 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui_Fixie_AppVeyor.source.md b/docs/mdsource/wiz/Linux_Rider_Gui_Fixie_AppVeyor.source.md
index fbe1cb9f2a..db9aa3fedd 100644
--- a/docs/mdsource/wiz/Linux_Rider_Gui_Fixie_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Gui_Fixie_AppVeyor.source.md
@@ -15,17 +15,26 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
@@ -64,6 +73,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui_Fixie_AzureDevOps.source.md b/docs/mdsource/wiz/Linux_Rider_Gui_Fixie_AzureDevOps.source.md
index 0b7f6c047b..7890dfb3ba 100644
--- a/docs/mdsource/wiz/Linux_Rider_Gui_Fixie_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Gui_Fixie_AzureDevOps.source.md
@@ -15,17 +15,26 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
@@ -64,6 +73,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui_Fixie_GitHubActions.source.md b/docs/mdsource/wiz/Linux_Rider_Gui_Fixie_GitHubActions.source.md
index e3446c31cc..35968c27b7 100644
--- a/docs/mdsource/wiz/Linux_Rider_Gui_Fixie_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Gui_Fixie_GitHubActions.source.md
@@ -15,17 +15,26 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
@@ -64,6 +73,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui_Fixie_None.source.md b/docs/mdsource/wiz/Linux_Rider_Gui_Fixie_None.source.md
index d0a362e378..563cc9bb76 100644
--- a/docs/mdsource/wiz/Linux_Rider_Gui_Fixie_None.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Gui_Fixie_None.source.md
@@ -15,17 +15,26 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
@@ -64,6 +73,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui_MSTest_AppVeyor.source.md b/docs/mdsource/wiz/Linux_Rider_Gui_MSTest_AppVeyor.source.md
index 71526eea57..62f392b5f6 100644
--- a/docs/mdsource/wiz/Linux_Rider_Gui_MSTest_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Gui_MSTest_AppVeyor.source.md
@@ -15,17 +15,26 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui_MSTest_AzureDevOps.source.md b/docs/mdsource/wiz/Linux_Rider_Gui_MSTest_AzureDevOps.source.md
index a2dd4cc27e..a86836581e 100644
--- a/docs/mdsource/wiz/Linux_Rider_Gui_MSTest_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Gui_MSTest_AzureDevOps.source.md
@@ -15,17 +15,26 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui_MSTest_GitHubActions.source.md b/docs/mdsource/wiz/Linux_Rider_Gui_MSTest_GitHubActions.source.md
index 24833ae424..67933f8f0e 100644
--- a/docs/mdsource/wiz/Linux_Rider_Gui_MSTest_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Gui_MSTest_GitHubActions.source.md
@@ -15,17 +15,26 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui_MSTest_None.source.md b/docs/mdsource/wiz/Linux_Rider_Gui_MSTest_None.source.md
index 33b14be2bc..6c0f03095f 100644
--- a/docs/mdsource/wiz/Linux_Rider_Gui_MSTest_None.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Gui_MSTest_None.source.md
@@ -15,17 +15,26 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui_NUnit_AppVeyor.source.md b/docs/mdsource/wiz/Linux_Rider_Gui_NUnit_AppVeyor.source.md
index 8bf20c0aa7..ffa3846a27 100644
--- a/docs/mdsource/wiz/Linux_Rider_Gui_NUnit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Gui_NUnit_AppVeyor.source.md
@@ -15,17 +15,26 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui_NUnit_AzureDevOps.source.md b/docs/mdsource/wiz/Linux_Rider_Gui_NUnit_AzureDevOps.source.md
index c3c815b6df..ca0b2f4ffe 100644
--- a/docs/mdsource/wiz/Linux_Rider_Gui_NUnit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Gui_NUnit_AzureDevOps.source.md
@@ -15,17 +15,26 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui_NUnit_GitHubActions.source.md b/docs/mdsource/wiz/Linux_Rider_Gui_NUnit_GitHubActions.source.md
index 83be102f5b..840c5d6090 100644
--- a/docs/mdsource/wiz/Linux_Rider_Gui_NUnit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Gui_NUnit_GitHubActions.source.md
@@ -15,17 +15,26 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui_NUnit_None.source.md b/docs/mdsource/wiz/Linux_Rider_Gui_NUnit_None.source.md
index bb52c2c0d8..67f6231d12 100644
--- a/docs/mdsource/wiz/Linux_Rider_Gui_NUnit_None.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Gui_NUnit_None.source.md
@@ -15,17 +15,26 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui_TUnit.source.md b/docs/mdsource/wiz/Linux_Rider_Gui_TUnit.source.md
new file mode 100644
index 0000000000..90b032e9f3
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Rider_Gui_TUnit.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer GUI](Linux_Rider_Gui.md) > [TUnit](Linux_Rider_Gui_TUnit.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Linux_Rider_Gui_TUnit_AppVeyor.md)
+ * [GitHub Actions](Linux_Rider_Gui_TUnit_GitHubActions.md)
+ * [Azure DevOps](Linux_Rider_Gui_TUnit_AzureDevOps.md)
+ * [No build server](Linux_Rider_Gui_TUnit_None.md)
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui_TUnit_AppVeyor.source.md b/docs/mdsource/wiz/Linux_Rider_Gui_TUnit_AppVeyor.source.md
new file mode 100644
index 0000000000..e1171f9a7b
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Rider_Gui_TUnit_AppVeyor.source.md
@@ -0,0 +1,91 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer GUI](Linux_Rider_Gui.md) > [TUnit](Linux_Rider_Gui_TUnit.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui_TUnit_AzureDevOps.source.md b/docs/mdsource/wiz/Linux_Rider_Gui_TUnit_AzureDevOps.source.md
new file mode 100644
index 0000000000..dcfe1866be
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Rider_Gui_TUnit_AzureDevOps.source.md
@@ -0,0 +1,91 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer GUI](Linux_Rider_Gui.md) > [TUnit](Linux_Rider_Gui_TUnit.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui_TUnit_GitHubActions.source.md b/docs/mdsource/wiz/Linux_Rider_Gui_TUnit_GitHubActions.source.md
new file mode 100644
index 0000000000..d66d71251b
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Rider_Gui_TUnit_GitHubActions.source.md
@@ -0,0 +1,91 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer GUI](Linux_Rider_Gui.md) > [TUnit](Linux_Rider_Gui_TUnit.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui_TUnit_None.source.md b/docs/mdsource/wiz/Linux_Rider_Gui_TUnit_None.source.md
new file mode 100644
index 0000000000..a1613ef089
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Rider_Gui_TUnit_None.source.md
@@ -0,0 +1,87 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer GUI](Linux_Rider_Gui.md) > [TUnit](Linux_Rider_Gui_TUnit.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui_XunitV3.source.md b/docs/mdsource/wiz/Linux_Rider_Gui_XunitV3.source.md
new file mode 100644
index 0000000000..a8a59dddd8
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Rider_Gui_XunitV3.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer GUI](Linux_Rider_Gui.md) > [XunitV3](Linux_Rider_Gui_XunitV3.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Linux_Rider_Gui_XunitV3_AppVeyor.md)
+ * [GitHub Actions](Linux_Rider_Gui_XunitV3_GitHubActions.md)
+ * [Azure DevOps](Linux_Rider_Gui_XunitV3_AzureDevOps.md)
+ * [No build server](Linux_Rider_Gui_XunitV3_None.md)
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui_XunitV3_AppVeyor.source.md b/docs/mdsource/wiz/Linux_Rider_Gui_XunitV3_AppVeyor.source.md
new file mode 100644
index 0000000000..fb3d4d0475
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Rider_Gui_XunitV3_AppVeyor.source.md
@@ -0,0 +1,91 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer GUI](Linux_Rider_Gui.md) > [XunitV3](Linux_Rider_Gui_XunitV3.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui_XunitV3_AzureDevOps.source.md b/docs/mdsource/wiz/Linux_Rider_Gui_XunitV3_AzureDevOps.source.md
new file mode 100644
index 0000000000..5fe75c3276
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Rider_Gui_XunitV3_AzureDevOps.source.md
@@ -0,0 +1,91 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer GUI](Linux_Rider_Gui.md) > [XunitV3](Linux_Rider_Gui_XunitV3.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui_XunitV3_GitHubActions.source.md b/docs/mdsource/wiz/Linux_Rider_Gui_XunitV3_GitHubActions.source.md
new file mode 100644
index 0000000000..787c3001f1
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Rider_Gui_XunitV3_GitHubActions.source.md
@@ -0,0 +1,91 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer GUI](Linux_Rider_Gui.md) > [XunitV3](Linux_Rider_Gui_XunitV3.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui_XunitV3_None.source.md b/docs/mdsource/wiz/Linux_Rider_Gui_XunitV3_None.source.md
new file mode 100644
index 0000000000..4ad946975a
--- /dev/null
+++ b/docs/mdsource/wiz/Linux_Rider_Gui_XunitV3_None.source.md
@@ -0,0 +1,87 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer GUI](Linux_Rider_Gui.md) > [XunitV3](Linux_Rider_Gui_XunitV3.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui_Xunit_AppVeyor.source.md b/docs/mdsource/wiz/Linux_Rider_Gui_Xunit_AppVeyor.source.md
index 807373aaa9..0236f58084 100644
--- a/docs/mdsource/wiz/Linux_Rider_Gui_Xunit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Gui_Xunit_AppVeyor.source.md
@@ -15,17 +15,26 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui_Xunit_AzureDevOps.source.md b/docs/mdsource/wiz/Linux_Rider_Gui_Xunit_AzureDevOps.source.md
index 64ee2d7772..8673aa30ef 100644
--- a/docs/mdsource/wiz/Linux_Rider_Gui_Xunit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Gui_Xunit_AzureDevOps.source.md
@@ -15,17 +15,26 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui_Xunit_GitHubActions.source.md b/docs/mdsource/wiz/Linux_Rider_Gui_Xunit_GitHubActions.source.md
index 7432c705b8..496b977260 100644
--- a/docs/mdsource/wiz/Linux_Rider_Gui_Xunit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Gui_Xunit_GitHubActions.source.md
@@ -15,17 +15,26 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Linux_Rider_Gui_Xunit_None.source.md b/docs/mdsource/wiz/Linux_Rider_Gui_Xunit_None.source.md
index 259e13e113..c3f7a552ba 100644
--- a/docs/mdsource/wiz/Linux_Rider_Gui_Xunit_None.source.md
+++ b/docs/mdsource/wiz/Linux_Rider_Gui_Xunit_None.source.md
@@ -15,17 +15,26 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli.source.md b/docs/mdsource/wiz/MacOS_Other_Cli.source.md
index 9b4c727447..84b6e2ec14 100644
--- a/docs/mdsource/wiz/MacOS_Other_Cli.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Cli.source.md
@@ -6,7 +6,9 @@
Options:
* [Xunit](MacOS_Other_Cli_Xunit.md)
+ * [XunitV3](MacOS_Other_Cli_XunitV3.md)
* [NUnit](MacOS_Other_Cli_NUnit.md)
+ * [TUnit](MacOS_Other_Cli_TUnit.md)
* [Fixie](MacOS_Other_Cli_Fixie.md)
* [MSTest](MacOS_Other_Cli_MSTest.md)
* [Expecto](MacOS_Other_Cli_Expecto.md)
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli_Expecto_AppVeyor.source.md b/docs/mdsource/wiz/MacOS_Other_Cli_Expecto_AppVeyor.source.md
index a7290fadf6..5a17aac7f1 100644
--- a/docs/mdsource/wiz/MacOS_Other_Cli_Expecto_AppVeyor.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Cli_Expecto_AppVeyor.source.md
@@ -17,16 +17,25 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli_Expecto_AzureDevOps.source.md b/docs/mdsource/wiz/MacOS_Other_Cli_Expecto_AzureDevOps.source.md
index 15a81602e1..677c8320e4 100644
--- a/docs/mdsource/wiz/MacOS_Other_Cli_Expecto_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Cli_Expecto_AzureDevOps.source.md
@@ -17,16 +17,25 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli_Expecto_GitHubActions.source.md b/docs/mdsource/wiz/MacOS_Other_Cli_Expecto_GitHubActions.source.md
index ebf34fa1a9..126a8584c6 100644
--- a/docs/mdsource/wiz/MacOS_Other_Cli_Expecto_GitHubActions.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Cli_Expecto_GitHubActions.source.md
@@ -17,16 +17,25 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli_Expecto_None.source.md b/docs/mdsource/wiz/MacOS_Other_Cli_Expecto_None.source.md
index 558552036a..4796d498c2 100644
--- a/docs/mdsource/wiz/MacOS_Other_Cli_Expecto_None.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Cli_Expecto_None.source.md
@@ -17,16 +17,25 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli_Fixie_AppVeyor.source.md b/docs/mdsource/wiz/MacOS_Other_Cli_Fixie_AppVeyor.source.md
index a64943b4e6..b0269a0107 100644
--- a/docs/mdsource/wiz/MacOS_Other_Cli_Fixie_AppVeyor.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Cli_Fixie_AppVeyor.source.md
@@ -16,16 +16,25 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
@@ -66,6 +75,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli_Fixie_AzureDevOps.source.md b/docs/mdsource/wiz/MacOS_Other_Cli_Fixie_AzureDevOps.source.md
index e9f6b39f1b..e1b848fa58 100644
--- a/docs/mdsource/wiz/MacOS_Other_Cli_Fixie_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Cli_Fixie_AzureDevOps.source.md
@@ -16,16 +16,25 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
@@ -66,6 +75,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli_Fixie_GitHubActions.source.md b/docs/mdsource/wiz/MacOS_Other_Cli_Fixie_GitHubActions.source.md
index f715c0f432..dc36133a3b 100644
--- a/docs/mdsource/wiz/MacOS_Other_Cli_Fixie_GitHubActions.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Cli_Fixie_GitHubActions.source.md
@@ -16,16 +16,25 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
@@ -66,6 +75,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli_Fixie_None.source.md b/docs/mdsource/wiz/MacOS_Other_Cli_Fixie_None.source.md
index df4595c26f..dbb9ae5c98 100644
--- a/docs/mdsource/wiz/MacOS_Other_Cli_Fixie_None.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Cli_Fixie_None.source.md
@@ -16,16 +16,25 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
@@ -66,6 +75,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli_MSTest_AppVeyor.source.md b/docs/mdsource/wiz/MacOS_Other_Cli_MSTest_AppVeyor.source.md
index ce1d4668a3..c75ac52ef6 100644
--- a/docs/mdsource/wiz/MacOS_Other_Cli_MSTest_AppVeyor.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Cli_MSTest_AppVeyor.source.md
@@ -18,16 +18,25 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli_MSTest_AzureDevOps.source.md b/docs/mdsource/wiz/MacOS_Other_Cli_MSTest_AzureDevOps.source.md
index 5cc609e853..ad565cd6c1 100644
--- a/docs/mdsource/wiz/MacOS_Other_Cli_MSTest_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Cli_MSTest_AzureDevOps.source.md
@@ -18,16 +18,25 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli_MSTest_GitHubActions.source.md b/docs/mdsource/wiz/MacOS_Other_Cli_MSTest_GitHubActions.source.md
index e85b0413a2..c923884e45 100644
--- a/docs/mdsource/wiz/MacOS_Other_Cli_MSTest_GitHubActions.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Cli_MSTest_GitHubActions.source.md
@@ -18,16 +18,25 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli_MSTest_None.source.md b/docs/mdsource/wiz/MacOS_Other_Cli_MSTest_None.source.md
index 6a11fb8f6f..26727d170b 100644
--- a/docs/mdsource/wiz/MacOS_Other_Cli_MSTest_None.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Cli_MSTest_None.source.md
@@ -18,16 +18,25 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli_NUnit_AppVeyor.source.md b/docs/mdsource/wiz/MacOS_Other_Cli_NUnit_AppVeyor.source.md
index 2f984f57b7..b00689a203 100644
--- a/docs/mdsource/wiz/MacOS_Other_Cli_NUnit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Cli_NUnit_AppVeyor.source.md
@@ -18,16 +18,25 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli_NUnit_AzureDevOps.source.md b/docs/mdsource/wiz/MacOS_Other_Cli_NUnit_AzureDevOps.source.md
index e165d72feb..b6a8757b50 100644
--- a/docs/mdsource/wiz/MacOS_Other_Cli_NUnit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Cli_NUnit_AzureDevOps.source.md
@@ -18,16 +18,25 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli_NUnit_GitHubActions.source.md b/docs/mdsource/wiz/MacOS_Other_Cli_NUnit_GitHubActions.source.md
index 00fec03b5d..d66d8418dc 100644
--- a/docs/mdsource/wiz/MacOS_Other_Cli_NUnit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Cli_NUnit_GitHubActions.source.md
@@ -18,16 +18,25 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli_NUnit_None.source.md b/docs/mdsource/wiz/MacOS_Other_Cli_NUnit_None.source.md
index b46e9ef705..01218d7105 100644
--- a/docs/mdsource/wiz/MacOS_Other_Cli_NUnit_None.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Cli_NUnit_None.source.md
@@ -18,16 +18,25 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli_TUnit.source.md b/docs/mdsource/wiz/MacOS_Other_Cli_TUnit.source.md
new file mode 100644
index 0000000000..ea9b63c79f
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Other_Cli_TUnit.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer CLI](MacOS_Other_Cli.md) > [TUnit](MacOS_Other_Cli_TUnit.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](MacOS_Other_Cli_TUnit_AppVeyor.md)
+ * [GitHub Actions](MacOS_Other_Cli_TUnit_GitHubActions.md)
+ * [Azure DevOps](MacOS_Other_Cli_TUnit_AzureDevOps.md)
+ * [No build server](MacOS_Other_Cli_TUnit_None.md)
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli_TUnit_AppVeyor.source.md b/docs/mdsource/wiz/MacOS_Other_Cli_TUnit_AppVeyor.source.md
new file mode 100644
index 0000000000..74bbd08acd
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Other_Cli_TUnit_AppVeyor.source.md
@@ -0,0 +1,99 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer CLI](MacOS_Other_Cli.md) > [TUnit](MacOS_Other_Cli_TUnit.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli_TUnit_AzureDevOps.source.md b/docs/mdsource/wiz/MacOS_Other_Cli_TUnit_AzureDevOps.source.md
new file mode 100644
index 0000000000..bb12b56697
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Other_Cli_TUnit_AzureDevOps.source.md
@@ -0,0 +1,99 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer CLI](MacOS_Other_Cli.md) > [TUnit](MacOS_Other_Cli_TUnit.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli_TUnit_GitHubActions.source.md b/docs/mdsource/wiz/MacOS_Other_Cli_TUnit_GitHubActions.source.md
new file mode 100644
index 0000000000..e1fe65068e
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Other_Cli_TUnit_GitHubActions.source.md
@@ -0,0 +1,99 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer CLI](MacOS_Other_Cli.md) > [TUnit](MacOS_Other_Cli_TUnit.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli_TUnit_None.source.md b/docs/mdsource/wiz/MacOS_Other_Cli_TUnit_None.source.md
new file mode 100644
index 0000000000..68fe0637ea
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Other_Cli_TUnit_None.source.md
@@ -0,0 +1,95 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer CLI](MacOS_Other_Cli.md) > [TUnit](MacOS_Other_Cli_TUnit.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli_XunitV3.source.md b/docs/mdsource/wiz/MacOS_Other_Cli_XunitV3.source.md
new file mode 100644
index 0000000000..56da2e08b6
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Other_Cli_XunitV3.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer CLI](MacOS_Other_Cli.md) > [XunitV3](MacOS_Other_Cli_XunitV3.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](MacOS_Other_Cli_XunitV3_AppVeyor.md)
+ * [GitHub Actions](MacOS_Other_Cli_XunitV3_GitHubActions.md)
+ * [Azure DevOps](MacOS_Other_Cli_XunitV3_AzureDevOps.md)
+ * [No build server](MacOS_Other_Cli_XunitV3_None.md)
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli_XunitV3_AppVeyor.source.md b/docs/mdsource/wiz/MacOS_Other_Cli_XunitV3_AppVeyor.source.md
new file mode 100644
index 0000000000..863363d2fa
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Other_Cli_XunitV3_AppVeyor.source.md
@@ -0,0 +1,101 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer CLI](MacOS_Other_Cli.md) > [XunitV3](MacOS_Other_Cli_XunitV3.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli_XunitV3_AzureDevOps.source.md b/docs/mdsource/wiz/MacOS_Other_Cli_XunitV3_AzureDevOps.source.md
new file mode 100644
index 0000000000..6fe84a9622
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Other_Cli_XunitV3_AzureDevOps.source.md
@@ -0,0 +1,101 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer CLI](MacOS_Other_Cli.md) > [XunitV3](MacOS_Other_Cli_XunitV3.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli_XunitV3_GitHubActions.source.md b/docs/mdsource/wiz/MacOS_Other_Cli_XunitV3_GitHubActions.source.md
new file mode 100644
index 0000000000..c14a4517b5
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Other_Cli_XunitV3_GitHubActions.source.md
@@ -0,0 +1,101 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer CLI](MacOS_Other_Cli.md) > [XunitV3](MacOS_Other_Cli_XunitV3.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli_XunitV3_None.source.md b/docs/mdsource/wiz/MacOS_Other_Cli_XunitV3_None.source.md
new file mode 100644
index 0000000000..caf72fc711
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Other_Cli_XunitV3_None.source.md
@@ -0,0 +1,97 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer CLI](MacOS_Other_Cli.md) > [XunitV3](MacOS_Other_Cli_XunitV3.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli_Xunit_AppVeyor.source.md b/docs/mdsource/wiz/MacOS_Other_Cli_Xunit_AppVeyor.source.md
index 29569d0477..ddf7eccc86 100644
--- a/docs/mdsource/wiz/MacOS_Other_Cli_Xunit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Cli_Xunit_AppVeyor.source.md
@@ -18,16 +18,25 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli_Xunit_AzureDevOps.source.md b/docs/mdsource/wiz/MacOS_Other_Cli_Xunit_AzureDevOps.source.md
index 62edba0289..ecd3eac8ae 100644
--- a/docs/mdsource/wiz/MacOS_Other_Cli_Xunit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Cli_Xunit_AzureDevOps.source.md
@@ -18,16 +18,25 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli_Xunit_GitHubActions.source.md b/docs/mdsource/wiz/MacOS_Other_Cli_Xunit_GitHubActions.source.md
index c662f9e5b9..41a2c54718 100644
--- a/docs/mdsource/wiz/MacOS_Other_Cli_Xunit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Cli_Xunit_GitHubActions.source.md
@@ -18,16 +18,25 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Cli_Xunit_None.source.md b/docs/mdsource/wiz/MacOS_Other_Cli_Xunit_None.source.md
index 384ea869c0..1d4757e507 100644
--- a/docs/mdsource/wiz/MacOS_Other_Cli_Xunit_None.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Cli_Xunit_None.source.md
@@ -18,16 +18,25 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui.source.md b/docs/mdsource/wiz/MacOS_Other_Gui.source.md
index 78a7ccdea9..36c8b3d86c 100644
--- a/docs/mdsource/wiz/MacOS_Other_Gui.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Gui.source.md
@@ -6,7 +6,9 @@
Options:
* [Xunit](MacOS_Other_Gui_Xunit.md)
+ * [XunitV3](MacOS_Other_Gui_XunitV3.md)
* [NUnit](MacOS_Other_Gui_NUnit.md)
+ * [TUnit](MacOS_Other_Gui_TUnit.md)
* [Fixie](MacOS_Other_Gui_Fixie.md)
* [MSTest](MacOS_Other_Gui_MSTest.md)
* [Expecto](MacOS_Other_Gui_Expecto.md)
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui_Expecto_AppVeyor.source.md b/docs/mdsource/wiz/MacOS_Other_Gui_Expecto_AppVeyor.source.md
index f40c6f2936..2a2e0c69a8 100644
--- a/docs/mdsource/wiz/MacOS_Other_Gui_Expecto_AppVeyor.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Gui_Expecto_AppVeyor.source.md
@@ -15,16 +15,25 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui_Expecto_AzureDevOps.source.md b/docs/mdsource/wiz/MacOS_Other_Gui_Expecto_AzureDevOps.source.md
index 3d333c8610..999874b8bf 100644
--- a/docs/mdsource/wiz/MacOS_Other_Gui_Expecto_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Gui_Expecto_AzureDevOps.source.md
@@ -15,16 +15,25 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui_Expecto_GitHubActions.source.md b/docs/mdsource/wiz/MacOS_Other_Gui_Expecto_GitHubActions.source.md
index 596d93107a..9d6881719b 100644
--- a/docs/mdsource/wiz/MacOS_Other_Gui_Expecto_GitHubActions.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Gui_Expecto_GitHubActions.source.md
@@ -15,16 +15,25 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui_Expecto_None.source.md b/docs/mdsource/wiz/MacOS_Other_Gui_Expecto_None.source.md
index 5359d2a957..85dddb6629 100644
--- a/docs/mdsource/wiz/MacOS_Other_Gui_Expecto_None.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Gui_Expecto_None.source.md
@@ -15,16 +15,25 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui_Fixie_AppVeyor.source.md b/docs/mdsource/wiz/MacOS_Other_Gui_Fixie_AppVeyor.source.md
index 989f18566b..1cdd4645ee 100644
--- a/docs/mdsource/wiz/MacOS_Other_Gui_Fixie_AppVeyor.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Gui_Fixie_AppVeyor.source.md
@@ -15,16 +15,25 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
@@ -53,6 +62,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui_Fixie_AzureDevOps.source.md b/docs/mdsource/wiz/MacOS_Other_Gui_Fixie_AzureDevOps.source.md
index d4030baa5e..6d0ddf3d9c 100644
--- a/docs/mdsource/wiz/MacOS_Other_Gui_Fixie_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Gui_Fixie_AzureDevOps.source.md
@@ -15,16 +15,25 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
@@ -53,6 +62,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui_Fixie_GitHubActions.source.md b/docs/mdsource/wiz/MacOS_Other_Gui_Fixie_GitHubActions.source.md
index d2443055b1..9fd32653cd 100644
--- a/docs/mdsource/wiz/MacOS_Other_Gui_Fixie_GitHubActions.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Gui_Fixie_GitHubActions.source.md
@@ -15,16 +15,25 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
@@ -53,6 +62,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui_Fixie_None.source.md b/docs/mdsource/wiz/MacOS_Other_Gui_Fixie_None.source.md
index 91566a08db..1961cb34f3 100644
--- a/docs/mdsource/wiz/MacOS_Other_Gui_Fixie_None.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Gui_Fixie_None.source.md
@@ -15,16 +15,25 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
@@ -53,6 +62,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui_MSTest_AppVeyor.source.md b/docs/mdsource/wiz/MacOS_Other_Gui_MSTest_AppVeyor.source.md
index 6d9f1b615d..f8947e007c 100644
--- a/docs/mdsource/wiz/MacOS_Other_Gui_MSTest_AppVeyor.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Gui_MSTest_AppVeyor.source.md
@@ -15,16 +15,25 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui_MSTest_AzureDevOps.source.md b/docs/mdsource/wiz/MacOS_Other_Gui_MSTest_AzureDevOps.source.md
index 632e446728..e48695f280 100644
--- a/docs/mdsource/wiz/MacOS_Other_Gui_MSTest_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Gui_MSTest_AzureDevOps.source.md
@@ -15,16 +15,25 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui_MSTest_GitHubActions.source.md b/docs/mdsource/wiz/MacOS_Other_Gui_MSTest_GitHubActions.source.md
index 8004bfe637..1b3f6cc2fc 100644
--- a/docs/mdsource/wiz/MacOS_Other_Gui_MSTest_GitHubActions.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Gui_MSTest_GitHubActions.source.md
@@ -15,16 +15,25 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui_MSTest_None.source.md b/docs/mdsource/wiz/MacOS_Other_Gui_MSTest_None.source.md
index e3bdc770b9..987c12cfd6 100644
--- a/docs/mdsource/wiz/MacOS_Other_Gui_MSTest_None.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Gui_MSTest_None.source.md
@@ -15,16 +15,25 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui_NUnit_AppVeyor.source.md b/docs/mdsource/wiz/MacOS_Other_Gui_NUnit_AppVeyor.source.md
index 555d7dc240..384ba87ea1 100644
--- a/docs/mdsource/wiz/MacOS_Other_Gui_NUnit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Gui_NUnit_AppVeyor.source.md
@@ -15,16 +15,25 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui_NUnit_AzureDevOps.source.md b/docs/mdsource/wiz/MacOS_Other_Gui_NUnit_AzureDevOps.source.md
index d0c7477abc..9564b1a97d 100644
--- a/docs/mdsource/wiz/MacOS_Other_Gui_NUnit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Gui_NUnit_AzureDevOps.source.md
@@ -15,16 +15,25 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui_NUnit_GitHubActions.source.md b/docs/mdsource/wiz/MacOS_Other_Gui_NUnit_GitHubActions.source.md
index f5d055bfa1..2d60a31126 100644
--- a/docs/mdsource/wiz/MacOS_Other_Gui_NUnit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Gui_NUnit_GitHubActions.source.md
@@ -15,16 +15,25 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui_NUnit_None.source.md b/docs/mdsource/wiz/MacOS_Other_Gui_NUnit_None.source.md
index c7c64b4f74..ff422c04ed 100644
--- a/docs/mdsource/wiz/MacOS_Other_Gui_NUnit_None.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Gui_NUnit_None.source.md
@@ -15,16 +15,25 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui_TUnit.source.md b/docs/mdsource/wiz/MacOS_Other_Gui_TUnit.source.md
new file mode 100644
index 0000000000..8e4afa012e
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Other_Gui_TUnit.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer GUI](MacOS_Other_Gui.md) > [TUnit](MacOS_Other_Gui_TUnit.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](MacOS_Other_Gui_TUnit_AppVeyor.md)
+ * [GitHub Actions](MacOS_Other_Gui_TUnit_GitHubActions.md)
+ * [Azure DevOps](MacOS_Other_Gui_TUnit_AzureDevOps.md)
+ * [No build server](MacOS_Other_Gui_TUnit_None.md)
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui_TUnit_AppVeyor.source.md b/docs/mdsource/wiz/MacOS_Other_Gui_TUnit_AppVeyor.source.md
new file mode 100644
index 0000000000..3f06a98c6f
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Other_Gui_TUnit_AppVeyor.source.md
@@ -0,0 +1,86 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer GUI](MacOS_Other_Gui.md) > [TUnit](MacOS_Other_Gui_TUnit.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui_TUnit_AzureDevOps.source.md b/docs/mdsource/wiz/MacOS_Other_Gui_TUnit_AzureDevOps.source.md
new file mode 100644
index 0000000000..fd060ed8df
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Other_Gui_TUnit_AzureDevOps.source.md
@@ -0,0 +1,86 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer GUI](MacOS_Other_Gui.md) > [TUnit](MacOS_Other_Gui_TUnit.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui_TUnit_GitHubActions.source.md b/docs/mdsource/wiz/MacOS_Other_Gui_TUnit_GitHubActions.source.md
new file mode 100644
index 0000000000..54ca2ec793
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Other_Gui_TUnit_GitHubActions.source.md
@@ -0,0 +1,86 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer GUI](MacOS_Other_Gui.md) > [TUnit](MacOS_Other_Gui_TUnit.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui_TUnit_None.source.md b/docs/mdsource/wiz/MacOS_Other_Gui_TUnit_None.source.md
new file mode 100644
index 0000000000..fa54cfeb9b
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Other_Gui_TUnit_None.source.md
@@ -0,0 +1,82 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer GUI](MacOS_Other_Gui.md) > [TUnit](MacOS_Other_Gui_TUnit.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui_XunitV3.source.md b/docs/mdsource/wiz/MacOS_Other_Gui_XunitV3.source.md
new file mode 100644
index 0000000000..c16310dc32
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Other_Gui_XunitV3.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer GUI](MacOS_Other_Gui.md) > [XunitV3](MacOS_Other_Gui_XunitV3.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](MacOS_Other_Gui_XunitV3_AppVeyor.md)
+ * [GitHub Actions](MacOS_Other_Gui_XunitV3_GitHubActions.md)
+ * [Azure DevOps](MacOS_Other_Gui_XunitV3_AzureDevOps.md)
+ * [No build server](MacOS_Other_Gui_XunitV3_None.md)
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui_XunitV3_AppVeyor.source.md b/docs/mdsource/wiz/MacOS_Other_Gui_XunitV3_AppVeyor.source.md
new file mode 100644
index 0000000000..af138a3015
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Other_Gui_XunitV3_AppVeyor.source.md
@@ -0,0 +1,86 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer GUI](MacOS_Other_Gui.md) > [XunitV3](MacOS_Other_Gui_XunitV3.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui_XunitV3_AzureDevOps.source.md b/docs/mdsource/wiz/MacOS_Other_Gui_XunitV3_AzureDevOps.source.md
new file mode 100644
index 0000000000..b1423b9fee
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Other_Gui_XunitV3_AzureDevOps.source.md
@@ -0,0 +1,86 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer GUI](MacOS_Other_Gui.md) > [XunitV3](MacOS_Other_Gui_XunitV3.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui_XunitV3_GitHubActions.source.md b/docs/mdsource/wiz/MacOS_Other_Gui_XunitV3_GitHubActions.source.md
new file mode 100644
index 0000000000..84605103c4
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Other_Gui_XunitV3_GitHubActions.source.md
@@ -0,0 +1,86 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer GUI](MacOS_Other_Gui.md) > [XunitV3](MacOS_Other_Gui_XunitV3.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui_XunitV3_None.source.md b/docs/mdsource/wiz/MacOS_Other_Gui_XunitV3_None.source.md
new file mode 100644
index 0000000000..19998f0dac
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Other_Gui_XunitV3_None.source.md
@@ -0,0 +1,82 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer GUI](MacOS_Other_Gui.md) > [XunitV3](MacOS_Other_Gui_XunitV3.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui_Xunit_AppVeyor.source.md b/docs/mdsource/wiz/MacOS_Other_Gui_Xunit_AppVeyor.source.md
index f4acbea985..ca5477e39d 100644
--- a/docs/mdsource/wiz/MacOS_Other_Gui_Xunit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Gui_Xunit_AppVeyor.source.md
@@ -15,16 +15,25 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui_Xunit_AzureDevOps.source.md b/docs/mdsource/wiz/MacOS_Other_Gui_Xunit_AzureDevOps.source.md
index 4eb610dea4..2d86ac1e90 100644
--- a/docs/mdsource/wiz/MacOS_Other_Gui_Xunit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Gui_Xunit_AzureDevOps.source.md
@@ -15,16 +15,25 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui_Xunit_GitHubActions.source.md b/docs/mdsource/wiz/MacOS_Other_Gui_Xunit_GitHubActions.source.md
index 59674afe5c..085efa1dea 100644
--- a/docs/mdsource/wiz/MacOS_Other_Gui_Xunit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Gui_Xunit_GitHubActions.source.md
@@ -15,16 +15,25 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Other_Gui_Xunit_None.source.md b/docs/mdsource/wiz/MacOS_Other_Gui_Xunit_None.source.md
index b3b958c48e..bfed37674b 100644
--- a/docs/mdsource/wiz/MacOS_Other_Gui_Xunit_None.source.md
+++ b/docs/mdsource/wiz/MacOS_Other_Gui_Xunit_None.source.md
@@ -15,16 +15,25 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
## DiffPlex
The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli.source.md
index c921183155..7eeb590bd3 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Cli.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli.source.md
@@ -6,7 +6,9 @@
Options:
* [Xunit](MacOS_Rider_Cli_Xunit.md)
+ * [XunitV3](MacOS_Rider_Cli_XunitV3.md)
* [NUnit](MacOS_Rider_Cli_NUnit.md)
+ * [TUnit](MacOS_Rider_Cli_TUnit.md)
* [Fixie](MacOS_Rider_Cli_Fixie.md)
* [MSTest](MacOS_Rider_Cli_MSTest.md)
* [Expecto](MacOS_Rider_Cli_Expecto.md)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli_Expecto_AppVeyor.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli_Expecto_AppVeyor.source.md
index 86c2c1588e..59dad1e6a2 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Cli_Expecto_AppVeyor.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli_Expecto_AppVeyor.source.md
@@ -17,17 +17,26 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli_Expecto_AzureDevOps.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli_Expecto_AzureDevOps.source.md
index 8c0ec329d9..e5dfdf5526 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Cli_Expecto_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli_Expecto_AzureDevOps.source.md
@@ -17,17 +17,26 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli_Expecto_GitHubActions.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli_Expecto_GitHubActions.source.md
index aef5e9d7d4..a5715b3387 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Cli_Expecto_GitHubActions.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli_Expecto_GitHubActions.source.md
@@ -17,17 +17,26 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli_Expecto_None.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli_Expecto_None.source.md
index cc27bd3536..7065333c6e 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Cli_Expecto_None.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli_Expecto_None.source.md
@@ -17,17 +17,26 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli_Fixie_AppVeyor.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli_Fixie_AppVeyor.source.md
index e7124b3cd2..6c1541af9a 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Cli_Fixie_AppVeyor.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli_Fixie_AppVeyor.source.md
@@ -16,17 +16,26 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
@@ -77,6 +86,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli_Fixie_AzureDevOps.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli_Fixie_AzureDevOps.source.md
index d8919397ad..3b92cd83d1 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Cli_Fixie_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli_Fixie_AzureDevOps.source.md
@@ -16,17 +16,26 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
@@ -77,6 +86,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli_Fixie_GitHubActions.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli_Fixie_GitHubActions.source.md
index 8e21b66fe7..defbb92120 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Cli_Fixie_GitHubActions.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli_Fixie_GitHubActions.source.md
@@ -16,17 +16,26 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
@@ -77,6 +86,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli_Fixie_None.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli_Fixie_None.source.md
index bd5d195f3b..3c10819417 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Cli_Fixie_None.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli_Fixie_None.source.md
@@ -16,17 +16,26 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
@@ -77,6 +86,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli_MSTest_AppVeyor.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli_MSTest_AppVeyor.source.md
index dd9ff4c61e..c22089f0e2 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Cli_MSTest_AppVeyor.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli_MSTest_AppVeyor.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli_MSTest_AzureDevOps.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli_MSTest_AzureDevOps.source.md
index 8a6eb101d8..7e165fc4e1 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Cli_MSTest_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli_MSTest_AzureDevOps.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli_MSTest_GitHubActions.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli_MSTest_GitHubActions.source.md
index 83fa764f33..476286274a 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Cli_MSTest_GitHubActions.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli_MSTest_GitHubActions.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli_MSTest_None.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli_MSTest_None.source.md
index 0f9b9601c7..aeff4707c4 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Cli_MSTest_None.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli_MSTest_None.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli_NUnit_AppVeyor.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli_NUnit_AppVeyor.source.md
index 9acd0693dd..787a31262b 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Cli_NUnit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli_NUnit_AppVeyor.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli_NUnit_AzureDevOps.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli_NUnit_AzureDevOps.source.md
index 487a4f8430..c48ce46c01 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Cli_NUnit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli_NUnit_AzureDevOps.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli_NUnit_GitHubActions.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli_NUnit_GitHubActions.source.md
index 82a0a27095..a820b1f05c 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Cli_NUnit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli_NUnit_GitHubActions.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli_NUnit_None.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli_NUnit_None.source.md
index b4b0cafcf4..0557525756 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Cli_NUnit_None.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli_NUnit_None.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli_TUnit.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli_TUnit.source.md
new file mode 100644
index 0000000000..c775034510
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli_TUnit.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer CLI](MacOS_Rider_Cli.md) > [TUnit](MacOS_Rider_Cli_TUnit.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](MacOS_Rider_Cli_TUnit_AppVeyor.md)
+ * [GitHub Actions](MacOS_Rider_Cli_TUnit_GitHubActions.md)
+ * [Azure DevOps](MacOS_Rider_Cli_TUnit_AzureDevOps.md)
+ * [No build server](MacOS_Rider_Cli_TUnit_None.md)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli_TUnit_AppVeyor.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli_TUnit_AppVeyor.source.md
new file mode 100644
index 0000000000..4d5f3a06bd
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli_TUnit_AppVeyor.source.md
@@ -0,0 +1,110 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer CLI](MacOS_Rider_Cli.md) > [TUnit](MacOS_Rider_Cli_TUnit.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli_TUnit_AzureDevOps.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli_TUnit_AzureDevOps.source.md
new file mode 100644
index 0000000000..f8048275c5
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli_TUnit_AzureDevOps.source.md
@@ -0,0 +1,110 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer CLI](MacOS_Rider_Cli.md) > [TUnit](MacOS_Rider_Cli_TUnit.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli_TUnit_GitHubActions.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli_TUnit_GitHubActions.source.md
new file mode 100644
index 0000000000..ff7444f9d9
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli_TUnit_GitHubActions.source.md
@@ -0,0 +1,110 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer CLI](MacOS_Rider_Cli.md) > [TUnit](MacOS_Rider_Cli_TUnit.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli_TUnit_None.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli_TUnit_None.source.md
new file mode 100644
index 0000000000..7a7658a6f9
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli_TUnit_None.source.md
@@ -0,0 +1,106 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer CLI](MacOS_Rider_Cli.md) > [TUnit](MacOS_Rider_Cli_TUnit.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli_XunitV3.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli_XunitV3.source.md
new file mode 100644
index 0000000000..a899720367
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli_XunitV3.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer CLI](MacOS_Rider_Cli.md) > [XunitV3](MacOS_Rider_Cli_XunitV3.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](MacOS_Rider_Cli_XunitV3_AppVeyor.md)
+ * [GitHub Actions](MacOS_Rider_Cli_XunitV3_GitHubActions.md)
+ * [Azure DevOps](MacOS_Rider_Cli_XunitV3_AzureDevOps.md)
+ * [No build server](MacOS_Rider_Cli_XunitV3_None.md)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli_XunitV3_AppVeyor.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli_XunitV3_AppVeyor.source.md
new file mode 100644
index 0000000000..3271d57d98
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli_XunitV3_AppVeyor.source.md
@@ -0,0 +1,112 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer CLI](MacOS_Rider_Cli.md) > [XunitV3](MacOS_Rider_Cli_XunitV3.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli_XunitV3_AzureDevOps.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli_XunitV3_AzureDevOps.source.md
new file mode 100644
index 0000000000..fc60be7eba
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli_XunitV3_AzureDevOps.source.md
@@ -0,0 +1,112 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer CLI](MacOS_Rider_Cli.md) > [XunitV3](MacOS_Rider_Cli_XunitV3.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli_XunitV3_GitHubActions.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli_XunitV3_GitHubActions.source.md
new file mode 100644
index 0000000000..ca55f42784
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli_XunitV3_GitHubActions.source.md
@@ -0,0 +1,112 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer CLI](MacOS_Rider_Cli.md) > [XunitV3](MacOS_Rider_Cli_XunitV3.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli_XunitV3_None.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli_XunitV3_None.source.md
new file mode 100644
index 0000000000..cfec6dcaee
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli_XunitV3_None.source.md
@@ -0,0 +1,108 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer CLI](MacOS_Rider_Cli.md) > [XunitV3](MacOS_Rider_Cli_XunitV3.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli_Xunit_AppVeyor.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli_Xunit_AppVeyor.source.md
index 19c07b5e3c..c8cf821e69 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Cli_Xunit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli_Xunit_AppVeyor.source.md
@@ -18,17 +18,26 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli_Xunit_AzureDevOps.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli_Xunit_AzureDevOps.source.md
index c475f578e1..4b7b5fe5e9 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Cli_Xunit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli_Xunit_AzureDevOps.source.md
@@ -18,17 +18,26 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli_Xunit_GitHubActions.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli_Xunit_GitHubActions.source.md
index 357934102b..934a38e64e 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Cli_Xunit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli_Xunit_GitHubActions.source.md
@@ -18,17 +18,26 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Cli_Xunit_None.source.md b/docs/mdsource/wiz/MacOS_Rider_Cli_Xunit_None.source.md
index 86df08ba3d..d675023c92 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Cli_Xunit_None.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Cli_Xunit_None.source.md
@@ -18,17 +18,26 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui.source.md
index 9897130d2f..ed9daf4484 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Gui.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui.source.md
@@ -6,7 +6,9 @@
Options:
* [Xunit](MacOS_Rider_Gui_Xunit.md)
+ * [XunitV3](MacOS_Rider_Gui_XunitV3.md)
* [NUnit](MacOS_Rider_Gui_NUnit.md)
+ * [TUnit](MacOS_Rider_Gui_TUnit.md)
* [Fixie](MacOS_Rider_Gui_Fixie.md)
* [MSTest](MacOS_Rider_Gui_MSTest.md)
* [Expecto](MacOS_Rider_Gui_Expecto.md)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui_Expecto_AppVeyor.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui_Expecto_AppVeyor.source.md
index 9384c9896f..ddafad0059 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Gui_Expecto_AppVeyor.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui_Expecto_AppVeyor.source.md
@@ -15,17 +15,26 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui_Expecto_AzureDevOps.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui_Expecto_AzureDevOps.source.md
index ef9e4c1fc8..b70b6beb90 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Gui_Expecto_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui_Expecto_AzureDevOps.source.md
@@ -15,17 +15,26 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui_Expecto_GitHubActions.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui_Expecto_GitHubActions.source.md
index ff067ed4d7..9214f2ced4 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Gui_Expecto_GitHubActions.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui_Expecto_GitHubActions.source.md
@@ -15,17 +15,26 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui_Expecto_None.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui_Expecto_None.source.md
index 9571099885..69f40e79e6 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Gui_Expecto_None.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui_Expecto_None.source.md
@@ -15,17 +15,26 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui_Fixie_AppVeyor.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui_Fixie_AppVeyor.source.md
index 2bb437f3cf..231f656ae8 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Gui_Fixie_AppVeyor.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui_Fixie_AppVeyor.source.md
@@ -15,17 +15,26 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
@@ -64,6 +73,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui_Fixie_AzureDevOps.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui_Fixie_AzureDevOps.source.md
index cfff6dc3d0..36d370b233 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Gui_Fixie_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui_Fixie_AzureDevOps.source.md
@@ -15,17 +15,26 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
@@ -64,6 +73,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui_Fixie_GitHubActions.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui_Fixie_GitHubActions.source.md
index 86f83f12d5..5176b887dc 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Gui_Fixie_GitHubActions.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui_Fixie_GitHubActions.source.md
@@ -15,17 +15,26 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
@@ -64,6 +73,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui_Fixie_None.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui_Fixie_None.source.md
index 4221ea5a5f..7e4557f37f 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Gui_Fixie_None.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui_Fixie_None.source.md
@@ -15,17 +15,26 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
@@ -64,6 +73,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui_MSTest_AppVeyor.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui_MSTest_AppVeyor.source.md
index a7e796634d..83496f5a9a 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Gui_MSTest_AppVeyor.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui_MSTest_AppVeyor.source.md
@@ -15,17 +15,26 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui_MSTest_AzureDevOps.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui_MSTest_AzureDevOps.source.md
index 5babf4626e..8548297b93 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Gui_MSTest_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui_MSTest_AzureDevOps.source.md
@@ -15,17 +15,26 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui_MSTest_GitHubActions.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui_MSTest_GitHubActions.source.md
index 7cb97b7a28..c7f2029096 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Gui_MSTest_GitHubActions.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui_MSTest_GitHubActions.source.md
@@ -15,17 +15,26 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui_MSTest_None.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui_MSTest_None.source.md
index ceed3ed1dd..a19a63eb79 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Gui_MSTest_None.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui_MSTest_None.source.md
@@ -15,17 +15,26 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui_NUnit_AppVeyor.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui_NUnit_AppVeyor.source.md
index 98bb6c2c07..210bf41695 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Gui_NUnit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui_NUnit_AppVeyor.source.md
@@ -15,17 +15,26 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui_NUnit_AzureDevOps.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui_NUnit_AzureDevOps.source.md
index 29d967a8ce..401a753afa 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Gui_NUnit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui_NUnit_AzureDevOps.source.md
@@ -15,17 +15,26 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui_NUnit_GitHubActions.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui_NUnit_GitHubActions.source.md
index 18d07e669c..2c85c8080d 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Gui_NUnit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui_NUnit_GitHubActions.source.md
@@ -15,17 +15,26 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui_NUnit_None.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui_NUnit_None.source.md
index bee68ea6e6..18e2f247b1 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Gui_NUnit_None.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui_NUnit_None.source.md
@@ -15,17 +15,26 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui_TUnit.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui_TUnit.source.md
new file mode 100644
index 0000000000..6cd3e689aa
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui_TUnit.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer GUI](MacOS_Rider_Gui.md) > [TUnit](MacOS_Rider_Gui_TUnit.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](MacOS_Rider_Gui_TUnit_AppVeyor.md)
+ * [GitHub Actions](MacOS_Rider_Gui_TUnit_GitHubActions.md)
+ * [Azure DevOps](MacOS_Rider_Gui_TUnit_AzureDevOps.md)
+ * [No build server](MacOS_Rider_Gui_TUnit_None.md)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui_TUnit_AppVeyor.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui_TUnit_AppVeyor.source.md
new file mode 100644
index 0000000000..421cfa09b0
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui_TUnit_AppVeyor.source.md
@@ -0,0 +1,97 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer GUI](MacOS_Rider_Gui.md) > [TUnit](MacOS_Rider_Gui_TUnit.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui_TUnit_AzureDevOps.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui_TUnit_AzureDevOps.source.md
new file mode 100644
index 0000000000..3388e5d2c1
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui_TUnit_AzureDevOps.source.md
@@ -0,0 +1,97 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer GUI](MacOS_Rider_Gui.md) > [TUnit](MacOS_Rider_Gui_TUnit.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui_TUnit_GitHubActions.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui_TUnit_GitHubActions.source.md
new file mode 100644
index 0000000000..f11c0d0337
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui_TUnit_GitHubActions.source.md
@@ -0,0 +1,97 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer GUI](MacOS_Rider_Gui.md) > [TUnit](MacOS_Rider_Gui_TUnit.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui_TUnit_None.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui_TUnit_None.source.md
new file mode 100644
index 0000000000..e7b3a6706f
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui_TUnit_None.source.md
@@ -0,0 +1,93 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer GUI](MacOS_Rider_Gui.md) > [TUnit](MacOS_Rider_Gui_TUnit.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui_XunitV3.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui_XunitV3.source.md
new file mode 100644
index 0000000000..9f9b20ca31
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui_XunitV3.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer GUI](MacOS_Rider_Gui.md) > [XunitV3](MacOS_Rider_Gui_XunitV3.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](MacOS_Rider_Gui_XunitV3_AppVeyor.md)
+ * [GitHub Actions](MacOS_Rider_Gui_XunitV3_GitHubActions.md)
+ * [Azure DevOps](MacOS_Rider_Gui_XunitV3_AzureDevOps.md)
+ * [No build server](MacOS_Rider_Gui_XunitV3_None.md)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui_XunitV3_AppVeyor.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui_XunitV3_AppVeyor.source.md
new file mode 100644
index 0000000000..3e64745519
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui_XunitV3_AppVeyor.source.md
@@ -0,0 +1,97 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer GUI](MacOS_Rider_Gui.md) > [XunitV3](MacOS_Rider_Gui_XunitV3.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui_XunitV3_AzureDevOps.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui_XunitV3_AzureDevOps.source.md
new file mode 100644
index 0000000000..4d93ac1c1e
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui_XunitV3_AzureDevOps.source.md
@@ -0,0 +1,97 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer GUI](MacOS_Rider_Gui.md) > [XunitV3](MacOS_Rider_Gui_XunitV3.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui_XunitV3_GitHubActions.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui_XunitV3_GitHubActions.source.md
new file mode 100644
index 0000000000..e5be6f0ace
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui_XunitV3_GitHubActions.source.md
@@ -0,0 +1,97 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer GUI](MacOS_Rider_Gui.md) > [XunitV3](MacOS_Rider_Gui_XunitV3.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui_XunitV3_None.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui_XunitV3_None.source.md
new file mode 100644
index 0000000000..423712181c
--- /dev/null
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui_XunitV3_None.source.md
@@ -0,0 +1,93 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer GUI](MacOS_Rider_Gui.md) > [XunitV3](MacOS_Rider_Gui_XunitV3.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui_Xunit_AppVeyor.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui_Xunit_AppVeyor.source.md
index 88d4fc9a69..1d508b1d06 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Gui_Xunit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui_Xunit_AppVeyor.source.md
@@ -15,17 +15,26 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui_Xunit_AzureDevOps.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui_Xunit_AzureDevOps.source.md
index f1ad32ee1c..8301ef5f9f 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Gui_Xunit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui_Xunit_AzureDevOps.source.md
@@ -15,17 +15,26 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui_Xunit_GitHubActions.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui_Xunit_GitHubActions.source.md
index d2927d350d..2357d9f6be 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Gui_Xunit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui_Xunit_GitHubActions.source.md
@@ -15,17 +15,26 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/MacOS_Rider_Gui_Xunit_None.source.md b/docs/mdsource/wiz/MacOS_Rider_Gui_Xunit_None.source.md
index 8d2bd67bd6..f03e8724c8 100644
--- a/docs/mdsource/wiz/MacOS_Rider_Gui_Xunit_None.source.md
+++ b/docs/mdsource/wiz/MacOS_Rider_Gui_Xunit_None.source.md
@@ -15,17 +15,26 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## Rider Plugin
Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
diff --git a/docs/mdsource/wiz/Windows_Other_Cli.source.md b/docs/mdsource/wiz/Windows_Other_Cli.source.md
index 32070a23b3..dd62c654aa 100644
--- a/docs/mdsource/wiz/Windows_Other_Cli.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Cli.source.md
@@ -6,7 +6,9 @@
Options:
* [Xunit](Windows_Other_Cli_Xunit.md)
+ * [XunitV3](Windows_Other_Cli_XunitV3.md)
* [NUnit](Windows_Other_Cli_NUnit.md)
+ * [TUnit](Windows_Other_Cli_TUnit.md)
* [Fixie](Windows_Other_Cli_Fixie.md)
* [MSTest](Windows_Other_Cli_MSTest.md)
* [Expecto](Windows_Other_Cli_Expecto.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Cli_Expecto_AppVeyor.source.md b/docs/mdsource/wiz/Windows_Other_Cli_Expecto_AppVeyor.source.md
index 3a0694d6d6..5cb1537053 100644
--- a/docs/mdsource/wiz/Windows_Other_Cli_Expecto_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Cli_Expecto_AppVeyor.source.md
@@ -17,17 +17,26 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Cli_Expecto_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_Other_Cli_Expecto_AzureDevOps.source.md
index 770e28f535..945c989669 100644
--- a/docs/mdsource/wiz/Windows_Other_Cli_Expecto_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Cli_Expecto_AzureDevOps.source.md
@@ -17,17 +17,26 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Cli_Expecto_GitHubActions.source.md b/docs/mdsource/wiz/Windows_Other_Cli_Expecto_GitHubActions.source.md
index 9844449705..9309433363 100644
--- a/docs/mdsource/wiz/Windows_Other_Cli_Expecto_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Cli_Expecto_GitHubActions.source.md
@@ -17,17 +17,26 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Cli_Expecto_None.source.md b/docs/mdsource/wiz/Windows_Other_Cli_Expecto_None.source.md
index 888feec6ba..58c7116303 100644
--- a/docs/mdsource/wiz/Windows_Other_Cli_Expecto_None.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Cli_Expecto_None.source.md
@@ -17,17 +17,26 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Cli_Fixie_AppVeyor.source.md b/docs/mdsource/wiz/Windows_Other_Cli_Fixie_AppVeyor.source.md
index b042fc522b..69a7f32986 100644
--- a/docs/mdsource/wiz/Windows_Other_Cli_Fixie_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Cli_Fixie_AppVeyor.source.md
@@ -16,17 +16,26 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -79,6 +88,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_Other_Cli_Fixie_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_Other_Cli_Fixie_AzureDevOps.source.md
index d38aaa790e..7f09d0891a 100644
--- a/docs/mdsource/wiz/Windows_Other_Cli_Fixie_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Cli_Fixie_AzureDevOps.source.md
@@ -16,17 +16,26 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -79,6 +88,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_Other_Cli_Fixie_GitHubActions.source.md b/docs/mdsource/wiz/Windows_Other_Cli_Fixie_GitHubActions.source.md
index e679e5a95b..56258ea837 100644
--- a/docs/mdsource/wiz/Windows_Other_Cli_Fixie_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Cli_Fixie_GitHubActions.source.md
@@ -16,17 +16,26 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -79,6 +88,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_Other_Cli_Fixie_None.source.md b/docs/mdsource/wiz/Windows_Other_Cli_Fixie_None.source.md
index dca24afa8b..f0c5692b50 100644
--- a/docs/mdsource/wiz/Windows_Other_Cli_Fixie_None.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Cli_Fixie_None.source.md
@@ -16,17 +16,26 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -79,6 +88,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_Other_Cli_MSTest_AppVeyor.source.md b/docs/mdsource/wiz/Windows_Other_Cli_MSTest_AppVeyor.source.md
index 4ec1a7b220..0b3e622b4b 100644
--- a/docs/mdsource/wiz/Windows_Other_Cli_MSTest_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Cli_MSTest_AppVeyor.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Cli_MSTest_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_Other_Cli_MSTest_AzureDevOps.source.md
index 1edb501faa..b5035585cd 100644
--- a/docs/mdsource/wiz/Windows_Other_Cli_MSTest_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Cli_MSTest_AzureDevOps.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Cli_MSTest_GitHubActions.source.md b/docs/mdsource/wiz/Windows_Other_Cli_MSTest_GitHubActions.source.md
index 1642fde764..6c0e0a155f 100644
--- a/docs/mdsource/wiz/Windows_Other_Cli_MSTest_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Cli_MSTest_GitHubActions.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Cli_MSTest_None.source.md b/docs/mdsource/wiz/Windows_Other_Cli_MSTest_None.source.md
index 57cc6e17c6..cb0304cf1a 100644
--- a/docs/mdsource/wiz/Windows_Other_Cli_MSTest_None.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Cli_MSTest_None.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Cli_NUnit_AppVeyor.source.md b/docs/mdsource/wiz/Windows_Other_Cli_NUnit_AppVeyor.source.md
index 6295ab6220..78b3601d60 100644
--- a/docs/mdsource/wiz/Windows_Other_Cli_NUnit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Cli_NUnit_AppVeyor.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Cli_NUnit_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_Other_Cli_NUnit_AzureDevOps.source.md
index be921d944a..df6228f823 100644
--- a/docs/mdsource/wiz/Windows_Other_Cli_NUnit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Cli_NUnit_AzureDevOps.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Cli_NUnit_GitHubActions.source.md b/docs/mdsource/wiz/Windows_Other_Cli_NUnit_GitHubActions.source.md
index 00285cdab2..92080c77d6 100644
--- a/docs/mdsource/wiz/Windows_Other_Cli_NUnit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Cli_NUnit_GitHubActions.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Cli_NUnit_None.source.md b/docs/mdsource/wiz/Windows_Other_Cli_NUnit_None.source.md
index 48bdd7afbd..77ea221bd6 100644
--- a/docs/mdsource/wiz/Windows_Other_Cli_NUnit_None.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Cli_NUnit_None.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Cli_TUnit.source.md b/docs/mdsource/wiz/Windows_Other_Cli_TUnit.source.md
new file mode 100644
index 0000000000..c3b8232baf
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Other_Cli_TUnit.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer CLI](Windows_Other_Cli.md) > [TUnit](Windows_Other_Cli_TUnit.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Windows_Other_Cli_TUnit_AppVeyor.md)
+ * [GitHub Actions](Windows_Other_Cli_TUnit_GitHubActions.md)
+ * [Azure DevOps](Windows_Other_Cli_TUnit_AzureDevOps.md)
+ * [No build server](Windows_Other_Cli_TUnit_None.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Cli_TUnit_AppVeyor.source.md b/docs/mdsource/wiz/Windows_Other_Cli_TUnit_AppVeyor.source.md
new file mode 100644
index 0000000000..2e4b8c0ae0
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Other_Cli_TUnit_AppVeyor.source.md
@@ -0,0 +1,117 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer CLI](Windows_Other_Cli.md) > [TUnit](Windows_Other_Cli_TUnit.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/Windows_Other_Cli_TUnit_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_Other_Cli_TUnit_AzureDevOps.source.md
new file mode 100644
index 0000000000..04c5809383
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Other_Cli_TUnit_AzureDevOps.source.md
@@ -0,0 +1,117 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer CLI](Windows_Other_Cli.md) > [TUnit](Windows_Other_Cli_TUnit.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/Windows_Other_Cli_TUnit_GitHubActions.source.md b/docs/mdsource/wiz/Windows_Other_Cli_TUnit_GitHubActions.source.md
new file mode 100644
index 0000000000..03d242291d
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Other_Cli_TUnit_GitHubActions.source.md
@@ -0,0 +1,117 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer CLI](Windows_Other_Cli.md) > [TUnit](Windows_Other_Cli_TUnit.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/Windows_Other_Cli_TUnit_None.source.md b/docs/mdsource/wiz/Windows_Other_Cli_TUnit_None.source.md
new file mode 100644
index 0000000000..b0260c58fa
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Other_Cli_TUnit_None.source.md
@@ -0,0 +1,113 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer CLI](Windows_Other_Cli.md) > [TUnit](Windows_Other_Cli_TUnit.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/Windows_Other_Cli_XunitV3.source.md b/docs/mdsource/wiz/Windows_Other_Cli_XunitV3.source.md
new file mode 100644
index 0000000000..1f44e919aa
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Other_Cli_XunitV3.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer CLI](Windows_Other_Cli.md) > [XunitV3](Windows_Other_Cli_XunitV3.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Windows_Other_Cli_XunitV3_AppVeyor.md)
+ * [GitHub Actions](Windows_Other_Cli_XunitV3_GitHubActions.md)
+ * [Azure DevOps](Windows_Other_Cli_XunitV3_AzureDevOps.md)
+ * [No build server](Windows_Other_Cli_XunitV3_None.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Cli_XunitV3_AppVeyor.source.md b/docs/mdsource/wiz/Windows_Other_Cli_XunitV3_AppVeyor.source.md
new file mode 100644
index 0000000000..7dfb5e5ffb
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Other_Cli_XunitV3_AppVeyor.source.md
@@ -0,0 +1,119 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer CLI](Windows_Other_Cli.md) > [XunitV3](Windows_Other_Cli_XunitV3.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/Windows_Other_Cli_XunitV3_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_Other_Cli_XunitV3_AzureDevOps.source.md
new file mode 100644
index 0000000000..46e08ec333
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Other_Cli_XunitV3_AzureDevOps.source.md
@@ -0,0 +1,119 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer CLI](Windows_Other_Cli.md) > [XunitV3](Windows_Other_Cli_XunitV3.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/Windows_Other_Cli_XunitV3_GitHubActions.source.md b/docs/mdsource/wiz/Windows_Other_Cli_XunitV3_GitHubActions.source.md
new file mode 100644
index 0000000000..aa15f09159
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Other_Cli_XunitV3_GitHubActions.source.md
@@ -0,0 +1,119 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer CLI](Windows_Other_Cli.md) > [XunitV3](Windows_Other_Cli_XunitV3.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/Windows_Other_Cli_XunitV3_None.source.md b/docs/mdsource/wiz/Windows_Other_Cli_XunitV3_None.source.md
new file mode 100644
index 0000000000..7f9bab6483
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Other_Cli_XunitV3_None.source.md
@@ -0,0 +1,115 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer CLI](Windows_Other_Cli.md) > [XunitV3](Windows_Other_Cli_XunitV3.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/Windows_Other_Cli_Xunit_AppVeyor.source.md b/docs/mdsource/wiz/Windows_Other_Cli_Xunit_AppVeyor.source.md
index 3074791e74..5a50bc211e 100644
--- a/docs/mdsource/wiz/Windows_Other_Cli_Xunit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Cli_Xunit_AppVeyor.source.md
@@ -18,17 +18,26 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Cli_Xunit_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_Other_Cli_Xunit_AzureDevOps.source.md
index 79924d5dfd..0b51ea3079 100644
--- a/docs/mdsource/wiz/Windows_Other_Cli_Xunit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Cli_Xunit_AzureDevOps.source.md
@@ -18,17 +18,26 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Cli_Xunit_GitHubActions.source.md b/docs/mdsource/wiz/Windows_Other_Cli_Xunit_GitHubActions.source.md
index ee785fa4c7..1fd40162e7 100644
--- a/docs/mdsource/wiz/Windows_Other_Cli_Xunit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Cli_Xunit_GitHubActions.source.md
@@ -18,17 +18,26 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Cli_Xunit_None.source.md b/docs/mdsource/wiz/Windows_Other_Cli_Xunit_None.source.md
index 06dad2664d..a2c63642d7 100644
--- a/docs/mdsource/wiz/Windows_Other_Cli_Xunit_None.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Cli_Xunit_None.source.md
@@ -18,17 +18,26 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Gui.source.md b/docs/mdsource/wiz/Windows_Other_Gui.source.md
index 3b8d16402d..74738448ac 100644
--- a/docs/mdsource/wiz/Windows_Other_Gui.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Gui.source.md
@@ -6,7 +6,9 @@
Options:
* [Xunit](Windows_Other_Gui_Xunit.md)
+ * [XunitV3](Windows_Other_Gui_XunitV3.md)
* [NUnit](Windows_Other_Gui_NUnit.md)
+ * [TUnit](Windows_Other_Gui_TUnit.md)
* [Fixie](Windows_Other_Gui_Fixie.md)
* [MSTest](Windows_Other_Gui_MSTest.md)
* [Expecto](Windows_Other_Gui_Expecto.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Gui_Expecto_AppVeyor.source.md b/docs/mdsource/wiz/Windows_Other_Gui_Expecto_AppVeyor.source.md
index 5a9850571e..cf058cb6de 100644
--- a/docs/mdsource/wiz/Windows_Other_Gui_Expecto_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Gui_Expecto_AppVeyor.source.md
@@ -15,17 +15,26 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Gui_Expecto_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_Other_Gui_Expecto_AzureDevOps.source.md
index a1c00f9acf..2aeec95d27 100644
--- a/docs/mdsource/wiz/Windows_Other_Gui_Expecto_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Gui_Expecto_AzureDevOps.source.md
@@ -15,17 +15,26 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Gui_Expecto_GitHubActions.source.md b/docs/mdsource/wiz/Windows_Other_Gui_Expecto_GitHubActions.source.md
index 774c1e8ac1..9dba0b8a88 100644
--- a/docs/mdsource/wiz/Windows_Other_Gui_Expecto_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Gui_Expecto_GitHubActions.source.md
@@ -15,17 +15,26 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Gui_Expecto_None.source.md b/docs/mdsource/wiz/Windows_Other_Gui_Expecto_None.source.md
index 8262e295ea..3e978fce1b 100644
--- a/docs/mdsource/wiz/Windows_Other_Gui_Expecto_None.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Gui_Expecto_None.source.md
@@ -15,17 +15,26 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Gui_Fixie_AppVeyor.source.md b/docs/mdsource/wiz/Windows_Other_Gui_Fixie_AppVeyor.source.md
index b46a6680a1..4afe17854e 100644
--- a/docs/mdsource/wiz/Windows_Other_Gui_Fixie_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Gui_Fixie_AppVeyor.source.md
@@ -15,17 +15,26 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -66,6 +75,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_Other_Gui_Fixie_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_Other_Gui_Fixie_AzureDevOps.source.md
index 327ac1373c..4bfd543d9b 100644
--- a/docs/mdsource/wiz/Windows_Other_Gui_Fixie_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Gui_Fixie_AzureDevOps.source.md
@@ -15,17 +15,26 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -66,6 +75,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_Other_Gui_Fixie_GitHubActions.source.md b/docs/mdsource/wiz/Windows_Other_Gui_Fixie_GitHubActions.source.md
index c14d82aeae..de2ff6d10e 100644
--- a/docs/mdsource/wiz/Windows_Other_Gui_Fixie_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Gui_Fixie_GitHubActions.source.md
@@ -15,17 +15,26 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -66,6 +75,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_Other_Gui_Fixie_None.source.md b/docs/mdsource/wiz/Windows_Other_Gui_Fixie_None.source.md
index cf492022b9..bf168b2d5d 100644
--- a/docs/mdsource/wiz/Windows_Other_Gui_Fixie_None.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Gui_Fixie_None.source.md
@@ -15,17 +15,26 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -66,6 +75,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_Other_Gui_MSTest_AppVeyor.source.md b/docs/mdsource/wiz/Windows_Other_Gui_MSTest_AppVeyor.source.md
index 47e5c9c18b..7be63b54a7 100644
--- a/docs/mdsource/wiz/Windows_Other_Gui_MSTest_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Gui_MSTest_AppVeyor.source.md
@@ -15,17 +15,26 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Gui_MSTest_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_Other_Gui_MSTest_AzureDevOps.source.md
index d90691fc63..df90de8762 100644
--- a/docs/mdsource/wiz/Windows_Other_Gui_MSTest_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Gui_MSTest_AzureDevOps.source.md
@@ -15,17 +15,26 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Gui_MSTest_GitHubActions.source.md b/docs/mdsource/wiz/Windows_Other_Gui_MSTest_GitHubActions.source.md
index 2aa89e97b6..a53dd3358d 100644
--- a/docs/mdsource/wiz/Windows_Other_Gui_MSTest_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Gui_MSTest_GitHubActions.source.md
@@ -15,17 +15,26 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Gui_MSTest_None.source.md b/docs/mdsource/wiz/Windows_Other_Gui_MSTest_None.source.md
index ad2c96deef..7f14e0f5fb 100644
--- a/docs/mdsource/wiz/Windows_Other_Gui_MSTest_None.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Gui_MSTest_None.source.md
@@ -15,17 +15,26 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Gui_NUnit_AppVeyor.source.md b/docs/mdsource/wiz/Windows_Other_Gui_NUnit_AppVeyor.source.md
index eae2847d22..73048be1ee 100644
--- a/docs/mdsource/wiz/Windows_Other_Gui_NUnit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Gui_NUnit_AppVeyor.source.md
@@ -15,17 +15,26 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Gui_NUnit_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_Other_Gui_NUnit_AzureDevOps.source.md
index 140e080a0a..f882ec92b8 100644
--- a/docs/mdsource/wiz/Windows_Other_Gui_NUnit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Gui_NUnit_AzureDevOps.source.md
@@ -15,17 +15,26 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Gui_NUnit_GitHubActions.source.md b/docs/mdsource/wiz/Windows_Other_Gui_NUnit_GitHubActions.source.md
index ea1629bdb7..15b31d0c6b 100644
--- a/docs/mdsource/wiz/Windows_Other_Gui_NUnit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Gui_NUnit_GitHubActions.source.md
@@ -15,17 +15,26 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Gui_NUnit_None.source.md b/docs/mdsource/wiz/Windows_Other_Gui_NUnit_None.source.md
index 9be6307cb4..12eedda7ec 100644
--- a/docs/mdsource/wiz/Windows_Other_Gui_NUnit_None.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Gui_NUnit_None.source.md
@@ -15,17 +15,26 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Gui_TUnit.source.md b/docs/mdsource/wiz/Windows_Other_Gui_TUnit.source.md
new file mode 100644
index 0000000000..473b98bbdb
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Other_Gui_TUnit.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer GUI](Windows_Other_Gui.md) > [TUnit](Windows_Other_Gui_TUnit.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Windows_Other_Gui_TUnit_AppVeyor.md)
+ * [GitHub Actions](Windows_Other_Gui_TUnit_GitHubActions.md)
+ * [Azure DevOps](Windows_Other_Gui_TUnit_AzureDevOps.md)
+ * [No build server](Windows_Other_Gui_TUnit_None.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Gui_TUnit_AppVeyor.source.md b/docs/mdsource/wiz/Windows_Other_Gui_TUnit_AppVeyor.source.md
new file mode 100644
index 0000000000..2e88f90858
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Other_Gui_TUnit_AppVeyor.source.md
@@ -0,0 +1,104 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer GUI](Windows_Other_Gui.md) > [TUnit](Windows_Other_Gui_TUnit.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/Windows_Other_Gui_TUnit_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_Other_Gui_TUnit_AzureDevOps.source.md
new file mode 100644
index 0000000000..96de631ed0
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Other_Gui_TUnit_AzureDevOps.source.md
@@ -0,0 +1,104 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer GUI](Windows_Other_Gui.md) > [TUnit](Windows_Other_Gui_TUnit.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/Windows_Other_Gui_TUnit_GitHubActions.source.md b/docs/mdsource/wiz/Windows_Other_Gui_TUnit_GitHubActions.source.md
new file mode 100644
index 0000000000..ee7c96253f
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Other_Gui_TUnit_GitHubActions.source.md
@@ -0,0 +1,104 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer GUI](Windows_Other_Gui.md) > [TUnit](Windows_Other_Gui_TUnit.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/Windows_Other_Gui_TUnit_None.source.md b/docs/mdsource/wiz/Windows_Other_Gui_TUnit_None.source.md
new file mode 100644
index 0000000000..d7f42df61c
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Other_Gui_TUnit_None.source.md
@@ -0,0 +1,100 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer GUI](Windows_Other_Gui.md) > [TUnit](Windows_Other_Gui_TUnit.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/Windows_Other_Gui_XunitV3.source.md b/docs/mdsource/wiz/Windows_Other_Gui_XunitV3.source.md
new file mode 100644
index 0000000000..c9dfa5050d
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Other_Gui_XunitV3.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer GUI](Windows_Other_Gui.md) > [XunitV3](Windows_Other_Gui_XunitV3.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Windows_Other_Gui_XunitV3_AppVeyor.md)
+ * [GitHub Actions](Windows_Other_Gui_XunitV3_GitHubActions.md)
+ * [Azure DevOps](Windows_Other_Gui_XunitV3_AzureDevOps.md)
+ * [No build server](Windows_Other_Gui_XunitV3_None.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Gui_XunitV3_AppVeyor.source.md b/docs/mdsource/wiz/Windows_Other_Gui_XunitV3_AppVeyor.source.md
new file mode 100644
index 0000000000..300773d64b
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Other_Gui_XunitV3_AppVeyor.source.md
@@ -0,0 +1,104 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer GUI](Windows_Other_Gui.md) > [XunitV3](Windows_Other_Gui_XunitV3.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/Windows_Other_Gui_XunitV3_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_Other_Gui_XunitV3_AzureDevOps.source.md
new file mode 100644
index 0000000000..5f51ffe250
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Other_Gui_XunitV3_AzureDevOps.source.md
@@ -0,0 +1,104 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer GUI](Windows_Other_Gui.md) > [XunitV3](Windows_Other_Gui_XunitV3.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/Windows_Other_Gui_XunitV3_GitHubActions.source.md b/docs/mdsource/wiz/Windows_Other_Gui_XunitV3_GitHubActions.source.md
new file mode 100644
index 0000000000..1b0d78ec62
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Other_Gui_XunitV3_GitHubActions.source.md
@@ -0,0 +1,104 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer GUI](Windows_Other_Gui.md) > [XunitV3](Windows_Other_Gui_XunitV3.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/Windows_Other_Gui_XunitV3_None.source.md b/docs/mdsource/wiz/Windows_Other_Gui_XunitV3_None.source.md
new file mode 100644
index 0000000000..7eb4d2a572
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Other_Gui_XunitV3_None.source.md
@@ -0,0 +1,100 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer GUI](Windows_Other_Gui.md) > [XunitV3](Windows_Other_Gui_XunitV3.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/Windows_Other_Gui_Xunit_AppVeyor.source.md b/docs/mdsource/wiz/Windows_Other_Gui_Xunit_AppVeyor.source.md
index 1578b1f6eb..e7944251f9 100644
--- a/docs/mdsource/wiz/Windows_Other_Gui_Xunit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Gui_Xunit_AppVeyor.source.md
@@ -15,17 +15,26 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Gui_Xunit_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_Other_Gui_Xunit_AzureDevOps.source.md
index 387475da58..83da4baa42 100644
--- a/docs/mdsource/wiz/Windows_Other_Gui_Xunit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Gui_Xunit_AzureDevOps.source.md
@@ -15,17 +15,26 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Gui_Xunit_GitHubActions.source.md b/docs/mdsource/wiz/Windows_Other_Gui_Xunit_GitHubActions.source.md
index 6236af801a..9dca375de5 100644
--- a/docs/mdsource/wiz/Windows_Other_Gui_Xunit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Gui_Xunit_GitHubActions.source.md
@@ -15,17 +15,26 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Other_Gui_Xunit_None.source.md b/docs/mdsource/wiz/Windows_Other_Gui_Xunit_None.source.md
index 87aa8ffcea..06d126e57b 100644
--- a/docs/mdsource/wiz/Windows_Other_Gui_Xunit_None.source.md
+++ b/docs/mdsource/wiz/Windows_Other_Gui_Xunit_None.source.md
@@ -15,17 +15,26 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli.source.md b/docs/mdsource/wiz/Windows_Rider_Cli.source.md
index 3662bc887f..64dfa43d0f 100644
--- a/docs/mdsource/wiz/Windows_Rider_Cli.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Cli.source.md
@@ -6,7 +6,9 @@
Options:
* [Xunit](Windows_Rider_Cli_Xunit.md)
+ * [XunitV3](Windows_Rider_Cli_XunitV3.md)
* [NUnit](Windows_Rider_Cli_NUnit.md)
+ * [TUnit](Windows_Rider_Cli_TUnit.md)
* [Fixie](Windows_Rider_Cli_Fixie.md)
* [MSTest](Windows_Rider_Cli_MSTest.md)
* [Expecto](Windows_Rider_Cli_Expecto.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli_Expecto_AppVeyor.source.md b/docs/mdsource/wiz/Windows_Rider_Cli_Expecto_AppVeyor.source.md
index 778c6636b4..b4fd18749c 100644
--- a/docs/mdsource/wiz/Windows_Rider_Cli_Expecto_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Cli_Expecto_AppVeyor.source.md
@@ -17,17 +17,26 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli_Expecto_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_Rider_Cli_Expecto_AzureDevOps.source.md
index 0bfe00baf8..5ffef07c08 100644
--- a/docs/mdsource/wiz/Windows_Rider_Cli_Expecto_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Cli_Expecto_AzureDevOps.source.md
@@ -17,17 +17,26 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli_Expecto_GitHubActions.source.md b/docs/mdsource/wiz/Windows_Rider_Cli_Expecto_GitHubActions.source.md
index 89d945d8e1..aed8098f84 100644
--- a/docs/mdsource/wiz/Windows_Rider_Cli_Expecto_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Cli_Expecto_GitHubActions.source.md
@@ -17,17 +17,26 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli_Expecto_None.source.md b/docs/mdsource/wiz/Windows_Rider_Cli_Expecto_None.source.md
index e14c5d941d..97e63072af 100644
--- a/docs/mdsource/wiz/Windows_Rider_Cli_Expecto_None.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Cli_Expecto_None.source.md
@@ -17,17 +17,26 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli_Fixie_AppVeyor.source.md b/docs/mdsource/wiz/Windows_Rider_Cli_Fixie_AppVeyor.source.md
index adb569ece8..e13ef0eda3 100644
--- a/docs/mdsource/wiz/Windows_Rider_Cli_Fixie_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Cli_Fixie_AppVeyor.source.md
@@ -16,17 +16,26 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -90,6 +99,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli_Fixie_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_Rider_Cli_Fixie_AzureDevOps.source.md
index cbd0fe0398..e6907229b6 100644
--- a/docs/mdsource/wiz/Windows_Rider_Cli_Fixie_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Cli_Fixie_AzureDevOps.source.md
@@ -16,17 +16,26 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -90,6 +99,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli_Fixie_GitHubActions.source.md b/docs/mdsource/wiz/Windows_Rider_Cli_Fixie_GitHubActions.source.md
index cdd4552920..89bf36d536 100644
--- a/docs/mdsource/wiz/Windows_Rider_Cli_Fixie_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Cli_Fixie_GitHubActions.source.md
@@ -16,17 +16,26 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -90,6 +99,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli_Fixie_None.source.md b/docs/mdsource/wiz/Windows_Rider_Cli_Fixie_None.source.md
index c2e98e9986..1b67670695 100644
--- a/docs/mdsource/wiz/Windows_Rider_Cli_Fixie_None.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Cli_Fixie_None.source.md
@@ -16,17 +16,26 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -90,6 +99,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli_MSTest_AppVeyor.source.md b/docs/mdsource/wiz/Windows_Rider_Cli_MSTest_AppVeyor.source.md
index 2a6dc8702c..47e53cb671 100644
--- a/docs/mdsource/wiz/Windows_Rider_Cli_MSTest_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Cli_MSTest_AppVeyor.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli_MSTest_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_Rider_Cli_MSTest_AzureDevOps.source.md
index ec6f36805b..6d62f1a377 100644
--- a/docs/mdsource/wiz/Windows_Rider_Cli_MSTest_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Cli_MSTest_AzureDevOps.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli_MSTest_GitHubActions.source.md b/docs/mdsource/wiz/Windows_Rider_Cli_MSTest_GitHubActions.source.md
index 721358a3d9..9277ec53fa 100644
--- a/docs/mdsource/wiz/Windows_Rider_Cli_MSTest_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Cli_MSTest_GitHubActions.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli_MSTest_None.source.md b/docs/mdsource/wiz/Windows_Rider_Cli_MSTest_None.source.md
index bccfde7bd6..0862c4d930 100644
--- a/docs/mdsource/wiz/Windows_Rider_Cli_MSTest_None.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Cli_MSTest_None.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli_NUnit_AppVeyor.source.md b/docs/mdsource/wiz/Windows_Rider_Cli_NUnit_AppVeyor.source.md
index 154951b525..672bba4da6 100644
--- a/docs/mdsource/wiz/Windows_Rider_Cli_NUnit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Cli_NUnit_AppVeyor.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli_NUnit_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_Rider_Cli_NUnit_AzureDevOps.source.md
index 7ed1e445b9..c46c81d887 100644
--- a/docs/mdsource/wiz/Windows_Rider_Cli_NUnit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Cli_NUnit_AzureDevOps.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli_NUnit_GitHubActions.source.md b/docs/mdsource/wiz/Windows_Rider_Cli_NUnit_GitHubActions.source.md
index 842f0488cb..81d097b69f 100644
--- a/docs/mdsource/wiz/Windows_Rider_Cli_NUnit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Cli_NUnit_GitHubActions.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli_NUnit_None.source.md b/docs/mdsource/wiz/Windows_Rider_Cli_NUnit_None.source.md
index e78d1f3095..4eea92ae01 100644
--- a/docs/mdsource/wiz/Windows_Rider_Cli_NUnit_None.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Cli_NUnit_None.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli_TUnit.source.md b/docs/mdsource/wiz/Windows_Rider_Cli_TUnit.source.md
new file mode 100644
index 0000000000..f111e4e24d
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Rider_Cli_TUnit.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer CLI](Windows_Rider_Cli.md) > [TUnit](Windows_Rider_Cli_TUnit.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Windows_Rider_Cli_TUnit_AppVeyor.md)
+ * [GitHub Actions](Windows_Rider_Cli_TUnit_GitHubActions.md)
+ * [Azure DevOps](Windows_Rider_Cli_TUnit_AzureDevOps.md)
+ * [No build server](Windows_Rider_Cli_TUnit_None.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli_TUnit_AppVeyor.source.md b/docs/mdsource/wiz/Windows_Rider_Cli_TUnit_AppVeyor.source.md
new file mode 100644
index 0000000000..a8fb8b845f
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Rider_Cli_TUnit_AppVeyor.source.md
@@ -0,0 +1,128 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer CLI](Windows_Rider_Cli.md) > [TUnit](Windows_Rider_Cli_TUnit.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli_TUnit_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_Rider_Cli_TUnit_AzureDevOps.source.md
new file mode 100644
index 0000000000..755a0de5c0
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Rider_Cli_TUnit_AzureDevOps.source.md
@@ -0,0 +1,128 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer CLI](Windows_Rider_Cli.md) > [TUnit](Windows_Rider_Cli_TUnit.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli_TUnit_GitHubActions.source.md b/docs/mdsource/wiz/Windows_Rider_Cli_TUnit_GitHubActions.source.md
new file mode 100644
index 0000000000..f10a89c621
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Rider_Cli_TUnit_GitHubActions.source.md
@@ -0,0 +1,128 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer CLI](Windows_Rider_Cli.md) > [TUnit](Windows_Rider_Cli_TUnit.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli_TUnit_None.source.md b/docs/mdsource/wiz/Windows_Rider_Cli_TUnit_None.source.md
new file mode 100644
index 0000000000..54460fcdbb
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Rider_Cli_TUnit_None.source.md
@@ -0,0 +1,124 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer CLI](Windows_Rider_Cli.md) > [TUnit](Windows_Rider_Cli_TUnit.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli_XunitV3.source.md b/docs/mdsource/wiz/Windows_Rider_Cli_XunitV3.source.md
new file mode 100644
index 0000000000..760f7e17dc
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Rider_Cli_XunitV3.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer CLI](Windows_Rider_Cli.md) > [XunitV3](Windows_Rider_Cli_XunitV3.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Windows_Rider_Cli_XunitV3_AppVeyor.md)
+ * [GitHub Actions](Windows_Rider_Cli_XunitV3_GitHubActions.md)
+ * [Azure DevOps](Windows_Rider_Cli_XunitV3_AzureDevOps.md)
+ * [No build server](Windows_Rider_Cli_XunitV3_None.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli_XunitV3_AppVeyor.source.md b/docs/mdsource/wiz/Windows_Rider_Cli_XunitV3_AppVeyor.source.md
new file mode 100644
index 0000000000..8fa994a944
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Rider_Cli_XunitV3_AppVeyor.source.md
@@ -0,0 +1,130 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer CLI](Windows_Rider_Cli.md) > [XunitV3](Windows_Rider_Cli_XunitV3.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli_XunitV3_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_Rider_Cli_XunitV3_AzureDevOps.source.md
new file mode 100644
index 0000000000..ec6ab92470
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Rider_Cli_XunitV3_AzureDevOps.source.md
@@ -0,0 +1,130 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer CLI](Windows_Rider_Cli.md) > [XunitV3](Windows_Rider_Cli_XunitV3.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli_XunitV3_GitHubActions.source.md b/docs/mdsource/wiz/Windows_Rider_Cli_XunitV3_GitHubActions.source.md
new file mode 100644
index 0000000000..4e191b9499
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Rider_Cli_XunitV3_GitHubActions.source.md
@@ -0,0 +1,130 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer CLI](Windows_Rider_Cli.md) > [XunitV3](Windows_Rider_Cli_XunitV3.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli_XunitV3_None.source.md b/docs/mdsource/wiz/Windows_Rider_Cli_XunitV3_None.source.md
new file mode 100644
index 0000000000..8c0829f87a
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Rider_Cli_XunitV3_None.source.md
@@ -0,0 +1,126 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer CLI](Windows_Rider_Cli.md) > [XunitV3](Windows_Rider_Cli_XunitV3.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli_Xunit_AppVeyor.source.md b/docs/mdsource/wiz/Windows_Rider_Cli_Xunit_AppVeyor.source.md
index ae78abfee1..20fcddb30a 100644
--- a/docs/mdsource/wiz/Windows_Rider_Cli_Xunit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Cli_Xunit_AppVeyor.source.md
@@ -18,17 +18,26 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli_Xunit_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_Rider_Cli_Xunit_AzureDevOps.source.md
index 92f30ed989..dbc398b21e 100644
--- a/docs/mdsource/wiz/Windows_Rider_Cli_Xunit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Cli_Xunit_AzureDevOps.source.md
@@ -18,17 +18,26 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli_Xunit_GitHubActions.source.md b/docs/mdsource/wiz/Windows_Rider_Cli_Xunit_GitHubActions.source.md
index 77fd10470a..38f51ec432 100644
--- a/docs/mdsource/wiz/Windows_Rider_Cli_Xunit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Cli_Xunit_GitHubActions.source.md
@@ -18,17 +18,26 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Cli_Xunit_None.source.md b/docs/mdsource/wiz/Windows_Rider_Cli_Xunit_None.source.md
index 1f1ffdc1a2..4cf1c3d98a 100644
--- a/docs/mdsource/wiz/Windows_Rider_Cli_Xunit_None.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Cli_Xunit_None.source.md
@@ -18,17 +18,26 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui.source.md b/docs/mdsource/wiz/Windows_Rider_Gui.source.md
index b6097e8dbb..5f331b606c 100644
--- a/docs/mdsource/wiz/Windows_Rider_Gui.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Gui.source.md
@@ -6,7 +6,9 @@
Options:
* [Xunit](Windows_Rider_Gui_Xunit.md)
+ * [XunitV3](Windows_Rider_Gui_XunitV3.md)
* [NUnit](Windows_Rider_Gui_NUnit.md)
+ * [TUnit](Windows_Rider_Gui_TUnit.md)
* [Fixie](Windows_Rider_Gui_Fixie.md)
* [MSTest](Windows_Rider_Gui_MSTest.md)
* [Expecto](Windows_Rider_Gui_Expecto.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui_Expecto_AppVeyor.source.md b/docs/mdsource/wiz/Windows_Rider_Gui_Expecto_AppVeyor.source.md
index 027610fd89..ad88361d90 100644
--- a/docs/mdsource/wiz/Windows_Rider_Gui_Expecto_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Gui_Expecto_AppVeyor.source.md
@@ -15,17 +15,26 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui_Expecto_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_Rider_Gui_Expecto_AzureDevOps.source.md
index 185e6b7be7..c93008b7d4 100644
--- a/docs/mdsource/wiz/Windows_Rider_Gui_Expecto_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Gui_Expecto_AzureDevOps.source.md
@@ -15,17 +15,26 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui_Expecto_GitHubActions.source.md b/docs/mdsource/wiz/Windows_Rider_Gui_Expecto_GitHubActions.source.md
index 7dc179ef47..940eba948f 100644
--- a/docs/mdsource/wiz/Windows_Rider_Gui_Expecto_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Gui_Expecto_GitHubActions.source.md
@@ -15,17 +15,26 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui_Expecto_None.source.md b/docs/mdsource/wiz/Windows_Rider_Gui_Expecto_None.source.md
index 386ce01cbf..b418b3a22c 100644
--- a/docs/mdsource/wiz/Windows_Rider_Gui_Expecto_None.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Gui_Expecto_None.source.md
@@ -15,17 +15,26 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui_Fixie_AppVeyor.source.md b/docs/mdsource/wiz/Windows_Rider_Gui_Fixie_AppVeyor.source.md
index af65160a3c..ef6a0a57b6 100644
--- a/docs/mdsource/wiz/Windows_Rider_Gui_Fixie_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Gui_Fixie_AppVeyor.source.md
@@ -15,17 +15,26 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -77,6 +86,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui_Fixie_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_Rider_Gui_Fixie_AzureDevOps.source.md
index 0e9fb008e0..cb7f43af72 100644
--- a/docs/mdsource/wiz/Windows_Rider_Gui_Fixie_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Gui_Fixie_AzureDevOps.source.md
@@ -15,17 +15,26 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -77,6 +86,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui_Fixie_GitHubActions.source.md b/docs/mdsource/wiz/Windows_Rider_Gui_Fixie_GitHubActions.source.md
index 871d412c94..6fc76b7a73 100644
--- a/docs/mdsource/wiz/Windows_Rider_Gui_Fixie_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Gui_Fixie_GitHubActions.source.md
@@ -15,17 +15,26 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -77,6 +86,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui_Fixie_None.source.md b/docs/mdsource/wiz/Windows_Rider_Gui_Fixie_None.source.md
index 7ecbed0539..78607658fd 100644
--- a/docs/mdsource/wiz/Windows_Rider_Gui_Fixie_None.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Gui_Fixie_None.source.md
@@ -15,17 +15,26 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -77,6 +86,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui_MSTest_AppVeyor.source.md b/docs/mdsource/wiz/Windows_Rider_Gui_MSTest_AppVeyor.source.md
index 2616ab2433..6df033673b 100644
--- a/docs/mdsource/wiz/Windows_Rider_Gui_MSTest_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Gui_MSTest_AppVeyor.source.md
@@ -15,17 +15,26 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui_MSTest_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_Rider_Gui_MSTest_AzureDevOps.source.md
index 2a1c669725..83ab84b740 100644
--- a/docs/mdsource/wiz/Windows_Rider_Gui_MSTest_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Gui_MSTest_AzureDevOps.source.md
@@ -15,17 +15,26 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui_MSTest_GitHubActions.source.md b/docs/mdsource/wiz/Windows_Rider_Gui_MSTest_GitHubActions.source.md
index 371fe9bb33..421ebd0487 100644
--- a/docs/mdsource/wiz/Windows_Rider_Gui_MSTest_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Gui_MSTest_GitHubActions.source.md
@@ -15,17 +15,26 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui_MSTest_None.source.md b/docs/mdsource/wiz/Windows_Rider_Gui_MSTest_None.source.md
index d5e015e19f..6a4fe26a48 100644
--- a/docs/mdsource/wiz/Windows_Rider_Gui_MSTest_None.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Gui_MSTest_None.source.md
@@ -15,17 +15,26 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui_NUnit_AppVeyor.source.md b/docs/mdsource/wiz/Windows_Rider_Gui_NUnit_AppVeyor.source.md
index a979806474..b69533458a 100644
--- a/docs/mdsource/wiz/Windows_Rider_Gui_NUnit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Gui_NUnit_AppVeyor.source.md
@@ -15,17 +15,26 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui_NUnit_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_Rider_Gui_NUnit_AzureDevOps.source.md
index 84b6ee664b..40e0408065 100644
--- a/docs/mdsource/wiz/Windows_Rider_Gui_NUnit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Gui_NUnit_AzureDevOps.source.md
@@ -15,17 +15,26 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui_NUnit_GitHubActions.source.md b/docs/mdsource/wiz/Windows_Rider_Gui_NUnit_GitHubActions.source.md
index 5f5c6ac826..a82da792fe 100644
--- a/docs/mdsource/wiz/Windows_Rider_Gui_NUnit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Gui_NUnit_GitHubActions.source.md
@@ -15,17 +15,26 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui_NUnit_None.source.md b/docs/mdsource/wiz/Windows_Rider_Gui_NUnit_None.source.md
index 229b165a93..ad4a6ddd76 100644
--- a/docs/mdsource/wiz/Windows_Rider_Gui_NUnit_None.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Gui_NUnit_None.source.md
@@ -15,17 +15,26 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui_TUnit.source.md b/docs/mdsource/wiz/Windows_Rider_Gui_TUnit.source.md
new file mode 100644
index 0000000000..49433a2267
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Rider_Gui_TUnit.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer GUI](Windows_Rider_Gui.md) > [TUnit](Windows_Rider_Gui_TUnit.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Windows_Rider_Gui_TUnit_AppVeyor.md)
+ * [GitHub Actions](Windows_Rider_Gui_TUnit_GitHubActions.md)
+ * [Azure DevOps](Windows_Rider_Gui_TUnit_AzureDevOps.md)
+ * [No build server](Windows_Rider_Gui_TUnit_None.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui_TUnit_AppVeyor.source.md b/docs/mdsource/wiz/Windows_Rider_Gui_TUnit_AppVeyor.source.md
new file mode 100644
index 0000000000..274ff4efdf
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Rider_Gui_TUnit_AppVeyor.source.md
@@ -0,0 +1,115 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer GUI](Windows_Rider_Gui.md) > [TUnit](Windows_Rider_Gui_TUnit.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui_TUnit_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_Rider_Gui_TUnit_AzureDevOps.source.md
new file mode 100644
index 0000000000..a636cab2e2
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Rider_Gui_TUnit_AzureDevOps.source.md
@@ -0,0 +1,115 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer GUI](Windows_Rider_Gui.md) > [TUnit](Windows_Rider_Gui_TUnit.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui_TUnit_GitHubActions.source.md b/docs/mdsource/wiz/Windows_Rider_Gui_TUnit_GitHubActions.source.md
new file mode 100644
index 0000000000..cd276e47d3
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Rider_Gui_TUnit_GitHubActions.source.md
@@ -0,0 +1,115 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer GUI](Windows_Rider_Gui.md) > [TUnit](Windows_Rider_Gui_TUnit.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui_TUnit_None.source.md b/docs/mdsource/wiz/Windows_Rider_Gui_TUnit_None.source.md
new file mode 100644
index 0000000000..6ed89d41a8
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Rider_Gui_TUnit_None.source.md
@@ -0,0 +1,111 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer GUI](Windows_Rider_Gui.md) > [TUnit](Windows_Rider_Gui_TUnit.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui_XunitV3.source.md b/docs/mdsource/wiz/Windows_Rider_Gui_XunitV3.source.md
new file mode 100644
index 0000000000..6bce006480
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Rider_Gui_XunitV3.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer GUI](Windows_Rider_Gui.md) > [XunitV3](Windows_Rider_Gui_XunitV3.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Windows_Rider_Gui_XunitV3_AppVeyor.md)
+ * [GitHub Actions](Windows_Rider_Gui_XunitV3_GitHubActions.md)
+ * [Azure DevOps](Windows_Rider_Gui_XunitV3_AzureDevOps.md)
+ * [No build server](Windows_Rider_Gui_XunitV3_None.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui_XunitV3_AppVeyor.source.md b/docs/mdsource/wiz/Windows_Rider_Gui_XunitV3_AppVeyor.source.md
new file mode 100644
index 0000000000..715b4d895d
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Rider_Gui_XunitV3_AppVeyor.source.md
@@ -0,0 +1,115 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer GUI](Windows_Rider_Gui.md) > [XunitV3](Windows_Rider_Gui_XunitV3.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui_XunitV3_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_Rider_Gui_XunitV3_AzureDevOps.source.md
new file mode 100644
index 0000000000..d8e4d2ea64
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Rider_Gui_XunitV3_AzureDevOps.source.md
@@ -0,0 +1,115 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer GUI](Windows_Rider_Gui.md) > [XunitV3](Windows_Rider_Gui_XunitV3.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui_XunitV3_GitHubActions.source.md b/docs/mdsource/wiz/Windows_Rider_Gui_XunitV3_GitHubActions.source.md
new file mode 100644
index 0000000000..7078cf98da
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Rider_Gui_XunitV3_GitHubActions.source.md
@@ -0,0 +1,115 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer GUI](Windows_Rider_Gui.md) > [XunitV3](Windows_Rider_Gui_XunitV3.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui_XunitV3_None.source.md b/docs/mdsource/wiz/Windows_Rider_Gui_XunitV3_None.source.md
new file mode 100644
index 0000000000..7d4f346703
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_Rider_Gui_XunitV3_None.source.md
@@ -0,0 +1,111 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer GUI](Windows_Rider_Gui.md) > [XunitV3](Windows_Rider_Gui_XunitV3.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui_Xunit_AppVeyor.source.md b/docs/mdsource/wiz/Windows_Rider_Gui_Xunit_AppVeyor.source.md
index 3e07b54301..fa79edf474 100644
--- a/docs/mdsource/wiz/Windows_Rider_Gui_Xunit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Gui_Xunit_AppVeyor.source.md
@@ -15,17 +15,26 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui_Xunit_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_Rider_Gui_Xunit_AzureDevOps.source.md
index 21c105d7c3..ab78c6a43e 100644
--- a/docs/mdsource/wiz/Windows_Rider_Gui_Xunit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Gui_Xunit_AzureDevOps.source.md
@@ -15,17 +15,26 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui_Xunit_GitHubActions.source.md b/docs/mdsource/wiz/Windows_Rider_Gui_Xunit_GitHubActions.source.md
index 68f9a5fecd..5dcbb5cef7 100644
--- a/docs/mdsource/wiz/Windows_Rider_Gui_Xunit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Gui_Xunit_GitHubActions.source.md
@@ -15,17 +15,26 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_Rider_Gui_Xunit_None.source.md b/docs/mdsource/wiz/Windows_Rider_Gui_Xunit_None.source.md
index e75291d624..f2ea95a453 100644
--- a/docs/mdsource/wiz/Windows_Rider_Gui_Xunit_None.source.md
+++ b/docs/mdsource/wiz/Windows_Rider_Gui_Xunit_None.source.md
@@ -15,17 +15,26 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli.source.md
index 74d50ca6b4..32a394ccf5 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli.source.md
@@ -6,7 +6,9 @@
Options:
* [Xunit](Windows_VisualStudioWithReSharper_Cli_Xunit.md)
+ * [XunitV3](Windows_VisualStudioWithReSharper_Cli_XunitV3.md)
* [NUnit](Windows_VisualStudioWithReSharper_Cli_NUnit.md)
+ * [TUnit](Windows_VisualStudioWithReSharper_Cli_TUnit.md)
* [Fixie](Windows_VisualStudioWithReSharper_Cli_Fixie.md)
* [MSTest](Windows_VisualStudioWithReSharper_Cli_MSTest.md)
* [Expecto](Windows_VisualStudioWithReSharper_Cli_Expecto.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_AppVeyor.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_AppVeyor.source.md
index 06a4520965..18e0d5c4bd 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_AppVeyor.source.md
@@ -17,17 +17,26 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_AzureDevOps.source.md
index 509cbcc12e..e903572e34 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_AzureDevOps.source.md
@@ -17,17 +17,26 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_GitHubActions.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_GitHubActions.source.md
index d4a2684455..a9ba617d9f 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_GitHubActions.source.md
@@ -17,17 +17,26 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_None.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_None.source.md
index 21f57f432f..fe64e26105 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_None.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_None.source.md
@@ -17,17 +17,26 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_AppVeyor.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_AppVeyor.source.md
index 7688f66f74..91f721fb33 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_AppVeyor.source.md
@@ -16,17 +16,26 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -98,6 +107,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_AzureDevOps.source.md
index f0f0c02185..0819257e30 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_AzureDevOps.source.md
@@ -16,17 +16,26 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -98,6 +107,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_GitHubActions.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_GitHubActions.source.md
index ad66ed8203..9caa94e1d2 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_GitHubActions.source.md
@@ -16,17 +16,26 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -98,6 +107,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_None.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_None.source.md
index b1f4d449c2..7e43fd4430 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_None.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_None.source.md
@@ -16,17 +16,26 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -98,6 +107,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_AppVeyor.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_AppVeyor.source.md
index 93b8b3d959..c2fed6cbcd 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_AppVeyor.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_AzureDevOps.source.md
index 556ac0bf12..0e46ed7a02 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_AzureDevOps.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_GitHubActions.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_GitHubActions.source.md
index 2b4d3e0805..0e348593f3 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_GitHubActions.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_None.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_None.source.md
index e8fc761b4b..8212295a17 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_None.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_None.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_AppVeyor.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_AppVeyor.source.md
index 135c86938b..bf2cafb617 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_AppVeyor.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_AzureDevOps.source.md
index e0dd8caf30..449ded810f 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_AzureDevOps.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_GitHubActions.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_GitHubActions.source.md
index 9044f0026c..7a016b204c 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_GitHubActions.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_None.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_None.source.md
index c44e85a875..ad706cf2e2 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_None.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_None.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_TUnit.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_TUnit.source.md
new file mode 100644
index 0000000000..66110d3bad
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_TUnit.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio with ReSharper](Windows_VisualStudioWithReSharper.md) > [Prefer CLI](Windows_VisualStudioWithReSharper_Cli.md) > [TUnit](Windows_VisualStudioWithReSharper_Cli_TUnit.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Windows_VisualStudioWithReSharper_Cli_TUnit_AppVeyor.md)
+ * [GitHub Actions](Windows_VisualStudioWithReSharper_Cli_TUnit_GitHubActions.md)
+ * [Azure DevOps](Windows_VisualStudioWithReSharper_Cli_TUnit_AzureDevOps.md)
+ * [No build server](Windows_VisualStudioWithReSharper_Cli_TUnit_None.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_TUnit_AppVeyor.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_TUnit_AppVeyor.source.md
new file mode 100644
index 0000000000..0fd3602c9a
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_TUnit_AppVeyor.source.md
@@ -0,0 +1,136 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio with ReSharper](Windows_VisualStudioWithReSharper.md) > [Prefer CLI](Windows_VisualStudioWithReSharper_Cli.md) > [TUnit](Windows_VisualStudioWithReSharper_Cli_TUnit.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## ReSharper
+
+
+### Orphaned process detection
+
+[Disable orphaned process detection](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#disable-orphaned-process-detection).
+
+
+## Verify Plugin
+
+Install the [ReSharper Plugin](https://plugins.jetbrains.com/plugin/17241-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the ReSharper test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_TUnit_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_TUnit_AzureDevOps.source.md
new file mode 100644
index 0000000000..5b2449b80d
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_TUnit_AzureDevOps.source.md
@@ -0,0 +1,136 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio with ReSharper](Windows_VisualStudioWithReSharper.md) > [Prefer CLI](Windows_VisualStudioWithReSharper_Cli.md) > [TUnit](Windows_VisualStudioWithReSharper_Cli_TUnit.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## ReSharper
+
+
+### Orphaned process detection
+
+[Disable orphaned process detection](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#disable-orphaned-process-detection).
+
+
+## Verify Plugin
+
+Install the [ReSharper Plugin](https://plugins.jetbrains.com/plugin/17241-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the ReSharper test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_TUnit_GitHubActions.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_TUnit_GitHubActions.source.md
new file mode 100644
index 0000000000..bf61ae982a
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_TUnit_GitHubActions.source.md
@@ -0,0 +1,136 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio with ReSharper](Windows_VisualStudioWithReSharper.md) > [Prefer CLI](Windows_VisualStudioWithReSharper_Cli.md) > [TUnit](Windows_VisualStudioWithReSharper_Cli_TUnit.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## ReSharper
+
+
+### Orphaned process detection
+
+[Disable orphaned process detection](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#disable-orphaned-process-detection).
+
+
+## Verify Plugin
+
+Install the [ReSharper Plugin](https://plugins.jetbrains.com/plugin/17241-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the ReSharper test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_TUnit_None.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_TUnit_None.source.md
new file mode 100644
index 0000000000..a04fefa044
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_TUnit_None.source.md
@@ -0,0 +1,132 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio with ReSharper](Windows_VisualStudioWithReSharper.md) > [Prefer CLI](Windows_VisualStudioWithReSharper_Cli.md) > [TUnit](Windows_VisualStudioWithReSharper_Cli_TUnit.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## ReSharper
+
+
+### Orphaned process detection
+
+[Disable orphaned process detection](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#disable-orphaned-process-detection).
+
+
+## Verify Plugin
+
+Install the [ReSharper Plugin](https://plugins.jetbrains.com/plugin/17241-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the ReSharper test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_XunitV3.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_XunitV3.source.md
new file mode 100644
index 0000000000..4b50b42120
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_XunitV3.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio with ReSharper](Windows_VisualStudioWithReSharper.md) > [Prefer CLI](Windows_VisualStudioWithReSharper_Cli.md) > [XunitV3](Windows_VisualStudioWithReSharper_Cli_XunitV3.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Windows_VisualStudioWithReSharper_Cli_XunitV3_AppVeyor.md)
+ * [GitHub Actions](Windows_VisualStudioWithReSharper_Cli_XunitV3_GitHubActions.md)
+ * [Azure DevOps](Windows_VisualStudioWithReSharper_Cli_XunitV3_AzureDevOps.md)
+ * [No build server](Windows_VisualStudioWithReSharper_Cli_XunitV3_None.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_XunitV3_AppVeyor.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_XunitV3_AppVeyor.source.md
new file mode 100644
index 0000000000..58fef86288
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_XunitV3_AppVeyor.source.md
@@ -0,0 +1,138 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio with ReSharper](Windows_VisualStudioWithReSharper.md) > [Prefer CLI](Windows_VisualStudioWithReSharper_Cli.md) > [XunitV3](Windows_VisualStudioWithReSharper_Cli_XunitV3.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## ReSharper
+
+
+### Orphaned process detection
+
+[Disable orphaned process detection](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#disable-orphaned-process-detection).
+
+
+## Verify Plugin
+
+Install the [ReSharper Plugin](https://plugins.jetbrains.com/plugin/17241-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the ReSharper test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_XunitV3_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_XunitV3_AzureDevOps.source.md
new file mode 100644
index 0000000000..abf5207f6b
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_XunitV3_AzureDevOps.source.md
@@ -0,0 +1,138 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio with ReSharper](Windows_VisualStudioWithReSharper.md) > [Prefer CLI](Windows_VisualStudioWithReSharper_Cli.md) > [XunitV3](Windows_VisualStudioWithReSharper_Cli_XunitV3.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## ReSharper
+
+
+### Orphaned process detection
+
+[Disable orphaned process detection](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#disable-orphaned-process-detection).
+
+
+## Verify Plugin
+
+Install the [ReSharper Plugin](https://plugins.jetbrains.com/plugin/17241-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the ReSharper test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_XunitV3_GitHubActions.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_XunitV3_GitHubActions.source.md
new file mode 100644
index 0000000000..9726471bca
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_XunitV3_GitHubActions.source.md
@@ -0,0 +1,138 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio with ReSharper](Windows_VisualStudioWithReSharper.md) > [Prefer CLI](Windows_VisualStudioWithReSharper_Cli.md) > [XunitV3](Windows_VisualStudioWithReSharper_Cli_XunitV3.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## ReSharper
+
+
+### Orphaned process detection
+
+[Disable orphaned process detection](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#disable-orphaned-process-detection).
+
+
+## Verify Plugin
+
+Install the [ReSharper Plugin](https://plugins.jetbrains.com/plugin/17241-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the ReSharper test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_XunitV3_None.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_XunitV3_None.source.md
new file mode 100644
index 0000000000..39f9ea99fc
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_XunitV3_None.source.md
@@ -0,0 +1,134 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio with ReSharper](Windows_VisualStudioWithReSharper.md) > [Prefer CLI](Windows_VisualStudioWithReSharper_Cli.md) > [XunitV3](Windows_VisualStudioWithReSharper_Cli_XunitV3.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## ReSharper
+
+
+### Orphaned process detection
+
+[Disable orphaned process detection](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#disable-orphaned-process-detection).
+
+
+## Verify Plugin
+
+Install the [ReSharper Plugin](https://plugins.jetbrains.com/plugin/17241-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the ReSharper test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Xunit_AppVeyor.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Xunit_AppVeyor.source.md
index d2ac8f6081..b16b65ea5f 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Xunit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Xunit_AppVeyor.source.md
@@ -18,17 +18,26 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Xunit_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Xunit_AzureDevOps.source.md
index 8ce6392674..f3e49d6458 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Xunit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Xunit_AzureDevOps.source.md
@@ -18,17 +18,26 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Xunit_GitHubActions.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Xunit_GitHubActions.source.md
index 5e32c0b1f6..77498817e0 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Xunit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Xunit_GitHubActions.source.md
@@ -18,17 +18,26 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Xunit_None.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Xunit_None.source.md
index 16d1cefc9e..b7174e5fc0 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Xunit_None.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Cli_Xunit_None.source.md
@@ -18,17 +18,26 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui.source.md
index f9c74d5303..29715860bb 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui.source.md
@@ -6,7 +6,9 @@
Options:
* [Xunit](Windows_VisualStudioWithReSharper_Gui_Xunit.md)
+ * [XunitV3](Windows_VisualStudioWithReSharper_Gui_XunitV3.md)
* [NUnit](Windows_VisualStudioWithReSharper_Gui_NUnit.md)
+ * [TUnit](Windows_VisualStudioWithReSharper_Gui_TUnit.md)
* [Fixie](Windows_VisualStudioWithReSharper_Gui_Fixie.md)
* [MSTest](Windows_VisualStudioWithReSharper_Gui_MSTest.md)
* [Expecto](Windows_VisualStudioWithReSharper_Gui_Expecto.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_AppVeyor.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_AppVeyor.source.md
index 37e0b45afb..ece785fb9b 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_AppVeyor.source.md
@@ -15,17 +15,26 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_AzureDevOps.source.md
index 8d0f519009..ee7027a24c 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_AzureDevOps.source.md
@@ -15,17 +15,26 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_GitHubActions.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_GitHubActions.source.md
index c751bb82e2..e9ad2a3669 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_GitHubActions.source.md
@@ -15,17 +15,26 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_None.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_None.source.md
index 844e259760..f0eb7da748 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_None.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_None.source.md
@@ -15,17 +15,26 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_AppVeyor.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_AppVeyor.source.md
index 21d8dfa3bc..95c4df366d 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_AppVeyor.source.md
@@ -15,17 +15,26 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -85,6 +94,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_AzureDevOps.source.md
index fa7aae4272..ca94dc5b8b 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_AzureDevOps.source.md
@@ -15,17 +15,26 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -85,6 +94,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_GitHubActions.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_GitHubActions.source.md
index be4602bf74..3f5096ee7a 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_GitHubActions.source.md
@@ -15,17 +15,26 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -85,6 +94,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_None.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_None.source.md
index fb8ab7e743..d785484e4a 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_None.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_None.source.md
@@ -15,17 +15,26 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -85,6 +94,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_AppVeyor.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_AppVeyor.source.md
index f8d6a3c815..9326aa055b 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_AppVeyor.source.md
@@ -15,17 +15,26 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_AzureDevOps.source.md
index 0b0307c7b4..62f8854b83 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_AzureDevOps.source.md
@@ -15,17 +15,26 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_GitHubActions.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_GitHubActions.source.md
index 94f58ae880..c28ef8a15f 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_GitHubActions.source.md
@@ -15,17 +15,26 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_None.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_None.source.md
index 61d8e57430..d30a8110df 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_None.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_None.source.md
@@ -15,17 +15,26 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_AppVeyor.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_AppVeyor.source.md
index b8c92f3c89..3647424c2b 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_AppVeyor.source.md
@@ -15,17 +15,26 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_AzureDevOps.source.md
index 48d2da7cab..f26ef25544 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_AzureDevOps.source.md
@@ -15,17 +15,26 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_GitHubActions.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_GitHubActions.source.md
index ae47502c08..3e4138e397 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_GitHubActions.source.md
@@ -15,17 +15,26 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_None.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_None.source.md
index 1acc1490a9..1394d012a8 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_None.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_None.source.md
@@ -15,17 +15,26 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit.source.md
new file mode 100644
index 0000000000..3a2a9a11e6
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio with ReSharper](Windows_VisualStudioWithReSharper.md) > [Prefer GUI](Windows_VisualStudioWithReSharper_Gui.md) > [TUnit](Windows_VisualStudioWithReSharper_Gui_TUnit.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Windows_VisualStudioWithReSharper_Gui_TUnit_AppVeyor.md)
+ * [GitHub Actions](Windows_VisualStudioWithReSharper_Gui_TUnit_GitHubActions.md)
+ * [Azure DevOps](Windows_VisualStudioWithReSharper_Gui_TUnit_AzureDevOps.md)
+ * [No build server](Windows_VisualStudioWithReSharper_Gui_TUnit_None.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit_AppVeyor.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit_AppVeyor.source.md
new file mode 100644
index 0000000000..d86a3aa3e2
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit_AppVeyor.source.md
@@ -0,0 +1,123 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio with ReSharper](Windows_VisualStudioWithReSharper.md) > [Prefer GUI](Windows_VisualStudioWithReSharper_Gui.md) > [TUnit](Windows_VisualStudioWithReSharper_Gui_TUnit.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## ReSharper
+
+
+### Orphaned process detection
+
+[Disable orphaned process detection](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#disable-orphaned-process-detection).
+
+
+## Verify Plugin
+
+Install the [ReSharper Plugin](https://plugins.jetbrains.com/plugin/17241-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the ReSharper test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit_AzureDevOps.source.md
new file mode 100644
index 0000000000..7043986540
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit_AzureDevOps.source.md
@@ -0,0 +1,123 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio with ReSharper](Windows_VisualStudioWithReSharper.md) > [Prefer GUI](Windows_VisualStudioWithReSharper_Gui.md) > [TUnit](Windows_VisualStudioWithReSharper_Gui_TUnit.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## ReSharper
+
+
+### Orphaned process detection
+
+[Disable orphaned process detection](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#disable-orphaned-process-detection).
+
+
+## Verify Plugin
+
+Install the [ReSharper Plugin](https://plugins.jetbrains.com/plugin/17241-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the ReSharper test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit_GitHubActions.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit_GitHubActions.source.md
new file mode 100644
index 0000000000..7c20b6df52
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit_GitHubActions.source.md
@@ -0,0 +1,123 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio with ReSharper](Windows_VisualStudioWithReSharper.md) > [Prefer GUI](Windows_VisualStudioWithReSharper_Gui.md) > [TUnit](Windows_VisualStudioWithReSharper_Gui_TUnit.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## ReSharper
+
+
+### Orphaned process detection
+
+[Disable orphaned process detection](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#disable-orphaned-process-detection).
+
+
+## Verify Plugin
+
+Install the [ReSharper Plugin](https://plugins.jetbrains.com/plugin/17241-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the ReSharper test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit_None.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit_None.source.md
new file mode 100644
index 0000000000..56b58969b0
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit_None.source.md
@@ -0,0 +1,119 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio with ReSharper](Windows_VisualStudioWithReSharper.md) > [Prefer GUI](Windows_VisualStudioWithReSharper_Gui.md) > [TUnit](Windows_VisualStudioWithReSharper_Gui_TUnit.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## ReSharper
+
+
+### Orphaned process detection
+
+[Disable orphaned process detection](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#disable-orphaned-process-detection).
+
+
+## Verify Plugin
+
+Install the [ReSharper Plugin](https://plugins.jetbrains.com/plugin/17241-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the ReSharper test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3.source.md
new file mode 100644
index 0000000000..433acf8e7a
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio with ReSharper](Windows_VisualStudioWithReSharper.md) > [Prefer GUI](Windows_VisualStudioWithReSharper_Gui.md) > [XunitV3](Windows_VisualStudioWithReSharper_Gui_XunitV3.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Windows_VisualStudioWithReSharper_Gui_XunitV3_AppVeyor.md)
+ * [GitHub Actions](Windows_VisualStudioWithReSharper_Gui_XunitV3_GitHubActions.md)
+ * [Azure DevOps](Windows_VisualStudioWithReSharper_Gui_XunitV3_AzureDevOps.md)
+ * [No build server](Windows_VisualStudioWithReSharper_Gui_XunitV3_None.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3_AppVeyor.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3_AppVeyor.source.md
new file mode 100644
index 0000000000..6cb166f4e9
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3_AppVeyor.source.md
@@ -0,0 +1,123 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio with ReSharper](Windows_VisualStudioWithReSharper.md) > [Prefer GUI](Windows_VisualStudioWithReSharper_Gui.md) > [XunitV3](Windows_VisualStudioWithReSharper_Gui_XunitV3.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## ReSharper
+
+
+### Orphaned process detection
+
+[Disable orphaned process detection](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#disable-orphaned-process-detection).
+
+
+## Verify Plugin
+
+Install the [ReSharper Plugin](https://plugins.jetbrains.com/plugin/17241-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the ReSharper test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3_AzureDevOps.source.md
new file mode 100644
index 0000000000..8a3f319363
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3_AzureDevOps.source.md
@@ -0,0 +1,123 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio with ReSharper](Windows_VisualStudioWithReSharper.md) > [Prefer GUI](Windows_VisualStudioWithReSharper_Gui.md) > [XunitV3](Windows_VisualStudioWithReSharper_Gui_XunitV3.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## ReSharper
+
+
+### Orphaned process detection
+
+[Disable orphaned process detection](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#disable-orphaned-process-detection).
+
+
+## Verify Plugin
+
+Install the [ReSharper Plugin](https://plugins.jetbrains.com/plugin/17241-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the ReSharper test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3_GitHubActions.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3_GitHubActions.source.md
new file mode 100644
index 0000000000..eef37bf86e
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3_GitHubActions.source.md
@@ -0,0 +1,123 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio with ReSharper](Windows_VisualStudioWithReSharper.md) > [Prefer GUI](Windows_VisualStudioWithReSharper_Gui.md) > [XunitV3](Windows_VisualStudioWithReSharper_Gui_XunitV3.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## ReSharper
+
+
+### Orphaned process detection
+
+[Disable orphaned process detection](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#disable-orphaned-process-detection).
+
+
+## Verify Plugin
+
+Install the [ReSharper Plugin](https://plugins.jetbrains.com/plugin/17241-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the ReSharper test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3_None.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3_None.source.md
new file mode 100644
index 0000000000..07d2de1683
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3_None.source.md
@@ -0,0 +1,119 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio with ReSharper](Windows_VisualStudioWithReSharper.md) > [Prefer GUI](Windows_VisualStudioWithReSharper_Gui.md) > [XunitV3](Windows_VisualStudioWithReSharper_Gui_XunitV3.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## ReSharper
+
+
+### Orphaned process detection
+
+[Disable orphaned process detection](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#disable-orphaned-process-detection).
+
+
+## Verify Plugin
+
+Install the [ReSharper Plugin](https://plugins.jetbrains.com/plugin/17241-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the ReSharper test runner.
+
+This is optional, but recommended.
+
+include: rider-resharper-orphaned-process
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Xunit_AppVeyor.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Xunit_AppVeyor.source.md
index 2fa01a5428..a80fcf5317 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Xunit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Xunit_AppVeyor.source.md
@@ -15,17 +15,26 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Xunit_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Xunit_AzureDevOps.source.md
index 0935330508..fd08013495 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Xunit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Xunit_AzureDevOps.source.md
@@ -15,17 +15,26 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Xunit_GitHubActions.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Xunit_GitHubActions.source.md
index 7440f6a33d..cbc5b4d116 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Xunit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Xunit_GitHubActions.source.md
@@ -15,17 +15,26 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Xunit_None.source.md b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Xunit_None.source.md
index 79038c673b..1bf1b26cfd 100644
--- a/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Xunit_None.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudioWithReSharper_Gui_Xunit_None.source.md
@@ -15,17 +15,26 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli.source.md
index 58116852c9..6283668902 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Cli.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli.source.md
@@ -6,7 +6,9 @@
Options:
* [Xunit](Windows_VisualStudio_Cli_Xunit.md)
+ * [XunitV3](Windows_VisualStudio_Cli_XunitV3.md)
* [NUnit](Windows_VisualStudio_Cli_NUnit.md)
+ * [TUnit](Windows_VisualStudio_Cli_TUnit.md)
* [Fixie](Windows_VisualStudio_Cli_Fixie.md)
* [MSTest](Windows_VisualStudio_Cli_MSTest.md)
* [Expecto](Windows_VisualStudio_Cli_Expecto.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli_Expecto_AppVeyor.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli_Expecto_AppVeyor.source.md
index 4cd1789f0f..222b7fca8f 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Cli_Expecto_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli_Expecto_AppVeyor.source.md
@@ -17,17 +17,26 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli_Expecto_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli_Expecto_AzureDevOps.source.md
index 0956d477ca..30c9d4372c 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Cli_Expecto_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli_Expecto_AzureDevOps.source.md
@@ -17,17 +17,26 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli_Expecto_GitHubActions.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli_Expecto_GitHubActions.source.md
index 5560cd3a26..256811ebbc 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Cli_Expecto_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli_Expecto_GitHubActions.source.md
@@ -17,17 +17,26 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli_Expecto_None.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli_Expecto_None.source.md
index 635ea66241..94a65514e3 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Cli_Expecto_None.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli_Expecto_None.source.md
@@ -17,17 +17,26 @@ dotnet add package Verify.Expecto
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli_Fixie_AppVeyor.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli_Fixie_AppVeyor.source.md
index 18ea81e2a6..972f738710 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Cli_Fixie_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli_Fixie_AppVeyor.source.md
@@ -16,17 +16,26 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -79,6 +88,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli_Fixie_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli_Fixie_AzureDevOps.source.md
index ea33504aef..0ea0f166d4 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Cli_Fixie_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli_Fixie_AzureDevOps.source.md
@@ -16,17 +16,26 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -79,6 +88,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli_Fixie_GitHubActions.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli_Fixie_GitHubActions.source.md
index f0d34dfae7..c49abf1543 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Cli_Fixie_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli_Fixie_GitHubActions.source.md
@@ -16,17 +16,26 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -79,6 +88,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli_Fixie_None.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli_Fixie_None.source.md
index a0e445cec2..47427918a1 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Cli_Fixie_None.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli_Fixie_None.source.md
@@ -16,17 +16,26 @@ dotnet add package Verify.Fixie
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -79,6 +88,9 @@ dotnet tool install -g verify.tool
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli_MSTest_AppVeyor.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli_MSTest_AppVeyor.source.md
index 20672afe75..9fc86f79f4 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Cli_MSTest_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli_MSTest_AppVeyor.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli_MSTest_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli_MSTest_AzureDevOps.source.md
index f946993fab..28f13cda25 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Cli_MSTest_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli_MSTest_AzureDevOps.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli_MSTest_GitHubActions.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli_MSTest_GitHubActions.source.md
index f8d587f60b..5fb4c8575b 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Cli_MSTest_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli_MSTest_GitHubActions.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli_MSTest_None.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli_MSTest_None.source.md
index cc0e36793e..7567d046e4 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Cli_MSTest_None.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli_MSTest_None.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.MSTest
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli_NUnit_AppVeyor.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli_NUnit_AppVeyor.source.md
index 881671a026..b9967b724e 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Cli_NUnit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli_NUnit_AppVeyor.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli_NUnit_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli_NUnit_AzureDevOps.source.md
index 16b16628c4..a514dd6720 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Cli_NUnit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli_NUnit_AzureDevOps.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli_NUnit_GitHubActions.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli_NUnit_GitHubActions.source.md
index a9a51efbc7..3d222ccb33 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Cli_NUnit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli_NUnit_GitHubActions.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli_NUnit_None.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli_NUnit_None.source.md
index 7299d3df90..6751eb49d5 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Cli_NUnit_None.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli_NUnit_None.source.md
@@ -18,17 +18,26 @@ dotnet add package Verify.NUnit
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli_TUnit.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli_TUnit.source.md
new file mode 100644
index 0000000000..583e719557
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli_TUnit.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio](Windows_VisualStudio.md) > [Prefer CLI](Windows_VisualStudio_Cli.md) > [TUnit](Windows_VisualStudio_Cli_TUnit.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Windows_VisualStudio_Cli_TUnit_AppVeyor.md)
+ * [GitHub Actions](Windows_VisualStudio_Cli_TUnit_GitHubActions.md)
+ * [Azure DevOps](Windows_VisualStudio_Cli_TUnit_AzureDevOps.md)
+ * [No build server](Windows_VisualStudio_Cli_TUnit_None.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli_TUnit_AppVeyor.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli_TUnit_AppVeyor.source.md
new file mode 100644
index 0000000000..97fec3da66
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli_TUnit_AppVeyor.source.md
@@ -0,0 +1,117 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio](Windows_VisualStudio.md) > [Prefer CLI](Windows_VisualStudio_Cli.md) > [TUnit](Windows_VisualStudio_Cli_TUnit.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli_TUnit_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli_TUnit_AzureDevOps.source.md
new file mode 100644
index 0000000000..3c69dae4a0
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli_TUnit_AzureDevOps.source.md
@@ -0,0 +1,117 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio](Windows_VisualStudio.md) > [Prefer CLI](Windows_VisualStudio_Cli.md) > [TUnit](Windows_VisualStudio_Cli_TUnit.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli_TUnit_GitHubActions.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli_TUnit_GitHubActions.source.md
new file mode 100644
index 0000000000..5037165416
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli_TUnit_GitHubActions.source.md
@@ -0,0 +1,117 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio](Windows_VisualStudio.md) > [Prefer CLI](Windows_VisualStudio_Cli.md) > [TUnit](Windows_VisualStudio_Cli_TUnit.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli_TUnit_None.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli_TUnit_None.source.md
new file mode 100644
index 0000000000..8336043f99
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli_TUnit_None.source.md
@@ -0,0 +1,113 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio](Windows_VisualStudio.md) > [Prefer CLI](Windows_VisualStudio_Cli.md) > [TUnit](Windows_VisualStudio_Cli_TUnit.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli_XunitV3.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli_XunitV3.source.md
new file mode 100644
index 0000000000..eb81bf74ec
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli_XunitV3.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio](Windows_VisualStudio.md) > [Prefer CLI](Windows_VisualStudio_Cli.md) > [XunitV3](Windows_VisualStudio_Cli_XunitV3.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Windows_VisualStudio_Cli_XunitV3_AppVeyor.md)
+ * [GitHub Actions](Windows_VisualStudio_Cli_XunitV3_GitHubActions.md)
+ * [Azure DevOps](Windows_VisualStudio_Cli_XunitV3_AzureDevOps.md)
+ * [No build server](Windows_VisualStudio_Cli_XunitV3_None.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli_XunitV3_AppVeyor.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli_XunitV3_AppVeyor.source.md
new file mode 100644
index 0000000000..db8dcc211f
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli_XunitV3_AppVeyor.source.md
@@ -0,0 +1,119 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio](Windows_VisualStudio.md) > [Prefer CLI](Windows_VisualStudio_Cli.md) > [XunitV3](Windows_VisualStudio_Cli_XunitV3.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli_XunitV3_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli_XunitV3_AzureDevOps.source.md
new file mode 100644
index 0000000000..5199010747
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli_XunitV3_AzureDevOps.source.md
@@ -0,0 +1,119 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio](Windows_VisualStudio.md) > [Prefer CLI](Windows_VisualStudio_Cli.md) > [XunitV3](Windows_VisualStudio_Cli_XunitV3.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli_XunitV3_GitHubActions.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli_XunitV3_GitHubActions.source.md
new file mode 100644
index 0000000000..b53ceb45f3
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli_XunitV3_GitHubActions.source.md
@@ -0,0 +1,119 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio](Windows_VisualStudio.md) > [Prefer CLI](Windows_VisualStudio_Cli.md) > [XunitV3](Windows_VisualStudio_Cli_XunitV3.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli_XunitV3_None.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli_XunitV3_None.source.md
new file mode 100644
index 0000000000..bb5b64e72f
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli_XunitV3_None.source.md
@@ -0,0 +1,115 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio](Windows_VisualStudio.md) > [Prefer CLI](Windows_VisualStudio_Cli.md) > [XunitV3](Windows_VisualStudio_Cli_XunitV3.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli_Xunit_AppVeyor.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli_Xunit_AppVeyor.source.md
index 3a964a6238..6cdd65abde 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Cli_Xunit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli_Xunit_AppVeyor.source.md
@@ -18,17 +18,26 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli_Xunit_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli_Xunit_AzureDevOps.source.md
index 7bb30d15a1..b9ed8f86ae 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Cli_Xunit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli_Xunit_AzureDevOps.source.md
@@ -18,17 +18,26 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli_Xunit_GitHubActions.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli_Xunit_GitHubActions.source.md
index df3f288cb2..d6d734f229 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Cli_Xunit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli_Xunit_GitHubActions.source.md
@@ -18,17 +18,26 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Cli_Xunit_None.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Cli_Xunit_None.source.md
index ed9f04f306..d5ba3e3359 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Cli_Xunit_None.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Cli_Xunit_None.source.md
@@ -18,17 +18,26 @@ dotnet add package xunit.runner.visualstudio
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui.source.md
index b80884528a..b179b09ebc 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Gui.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui.source.md
@@ -6,7 +6,9 @@
Options:
* [Xunit](Windows_VisualStudio_Gui_Xunit.md)
+ * [XunitV3](Windows_VisualStudio_Gui_XunitV3.md)
* [NUnit](Windows_VisualStudio_Gui_NUnit.md)
+ * [TUnit](Windows_VisualStudio_Gui_TUnit.md)
* [Fixie](Windows_VisualStudio_Gui_Fixie.md)
* [MSTest](Windows_VisualStudio_Gui_MSTest.md)
* [Expecto](Windows_VisualStudio_Gui_Expecto.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui_Expecto_AppVeyor.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui_Expecto_AppVeyor.source.md
index 171e21b3a9..69b1f90245 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Gui_Expecto_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui_Expecto_AppVeyor.source.md
@@ -15,17 +15,26 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui_Expecto_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui_Expecto_AzureDevOps.source.md
index 1d251d36bd..586e167d32 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Gui_Expecto_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui_Expecto_AzureDevOps.source.md
@@ -15,17 +15,26 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui_Expecto_GitHubActions.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui_Expecto_GitHubActions.source.md
index 644043fda4..8b3dbddcff 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Gui_Expecto_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui_Expecto_GitHubActions.source.md
@@ -15,17 +15,26 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui_Expecto_None.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui_Expecto_None.source.md
index 5c0f565b8b..3dfbf7e537 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Gui_Expecto_None.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui_Expecto_None.source.md
@@ -15,17 +15,26 @@ snippet: expecto-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksExpecto
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui_Fixie_AppVeyor.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui_Fixie_AppVeyor.source.md
index 0cc187c7e4..f33c790e95 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Gui_Fixie_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui_Fixie_AppVeyor.source.md
@@ -15,17 +15,26 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -66,6 +75,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui_Fixie_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui_Fixie_AzureDevOps.source.md
index a29094aee7..1d0a001363 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Gui_Fixie_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui_Fixie_AzureDevOps.source.md
@@ -15,17 +15,26 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -66,6 +75,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui_Fixie_GitHubActions.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui_Fixie_GitHubActions.source.md
index 3ad4b1370b..fc751d34ce 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Gui_Fixie_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui_Fixie_GitHubActions.source.md
@@ -15,17 +15,26 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -66,6 +75,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui_Fixie_None.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui_Fixie_None.source.md
index b6d53e12fc..b3cca447ec 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Gui_Fixie_None.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui_Fixie_None.source.md
@@ -15,17 +15,26 @@ snippet: fixie-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksFixie
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
@@ -66,6 +75,9 @@ public static void Initialize() =>
snippet: SampleTestFixie
+
+include: fixie-convention
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui_MSTest_AppVeyor.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui_MSTest_AppVeyor.source.md
index 5d8cc42614..37fffea3e4 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Gui_MSTest_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui_MSTest_AppVeyor.source.md
@@ -15,17 +15,26 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui_MSTest_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui_MSTest_AzureDevOps.source.md
index 3b00bc8936..2035ed366e 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Gui_MSTest_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui_MSTest_AzureDevOps.source.md
@@ -15,17 +15,26 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui_MSTest_GitHubActions.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui_MSTest_GitHubActions.source.md
index 20607e70c0..db36d053d6 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Gui_MSTest_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui_MSTest_GitHubActions.source.md
@@ -15,17 +15,26 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui_MSTest_None.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui_MSTest_None.source.md
index c623045b99..e5f239302f 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Gui_MSTest_None.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui_MSTest_None.source.md
@@ -15,17 +15,26 @@ snippet: mstest-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksMSTest
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui_NUnit_AppVeyor.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui_NUnit_AppVeyor.source.md
index ec90245049..a231835b42 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Gui_NUnit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui_NUnit_AppVeyor.source.md
@@ -15,17 +15,26 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui_NUnit_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui_NUnit_AzureDevOps.source.md
index 9db3c1f7af..09f51351c4 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Gui_NUnit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui_NUnit_AzureDevOps.source.md
@@ -15,17 +15,26 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui_NUnit_GitHubActions.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui_NUnit_GitHubActions.source.md
index e8109de431..d6168da382 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Gui_NUnit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui_NUnit_GitHubActions.source.md
@@ -15,17 +15,26 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui_NUnit_None.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui_NUnit_None.source.md
index f6182b90ad..0ecb0efd50 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Gui_NUnit_None.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui_NUnit_None.source.md
@@ -15,17 +15,26 @@ snippet: nunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksNUnit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui_TUnit.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui_TUnit.source.md
new file mode 100644
index 0000000000..662e6cc9cd
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui_TUnit.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio](Windows_VisualStudio.md) > [Prefer GUI](Windows_VisualStudio_Gui.md) > [TUnit](Windows_VisualStudio_Gui_TUnit.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Windows_VisualStudio_Gui_TUnit_AppVeyor.md)
+ * [GitHub Actions](Windows_VisualStudio_Gui_TUnit_GitHubActions.md)
+ * [Azure DevOps](Windows_VisualStudio_Gui_TUnit_AzureDevOps.md)
+ * [No build server](Windows_VisualStudio_Gui_TUnit_None.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui_TUnit_AppVeyor.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui_TUnit_AppVeyor.source.md
new file mode 100644
index 0000000000..affadb77df
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui_TUnit_AppVeyor.source.md
@@ -0,0 +1,104 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio](Windows_VisualStudio.md) > [Prefer GUI](Windows_VisualStudio_Gui.md) > [TUnit](Windows_VisualStudio_Gui_TUnit.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui_TUnit_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui_TUnit_AzureDevOps.source.md
new file mode 100644
index 0000000000..2b6112d24d
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui_TUnit_AzureDevOps.source.md
@@ -0,0 +1,104 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio](Windows_VisualStudio.md) > [Prefer GUI](Windows_VisualStudio_Gui.md) > [TUnit](Windows_VisualStudio_Gui_TUnit.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui_TUnit_GitHubActions.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui_TUnit_GitHubActions.source.md
new file mode 100644
index 0000000000..3d7d554dee
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui_TUnit_GitHubActions.source.md
@@ -0,0 +1,104 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio](Windows_VisualStudio.md) > [Prefer GUI](Windows_VisualStudio_Gui.md) > [TUnit](Windows_VisualStudio_Gui_TUnit.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui_TUnit_None.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui_TUnit_None.source.md
new file mode 100644
index 0000000000..202d9fb8e8
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui_TUnit_None.source.md
@@ -0,0 +1,100 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio](Windows_VisualStudio.md) > [Prefer GUI](Windows_VisualStudio_Gui.md) > [TUnit](Windows_VisualStudio_Gui_TUnit.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: tunit-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksTUnit
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestTUnit
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui_XunitV3.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui_XunitV3.source.md
new file mode 100644
index 0000000000..6c6b2b2a24
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui_XunitV3.source.md
@@ -0,0 +1,11 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio](Windows_VisualStudio.md) > [Prefer GUI](Windows_VisualStudio_Gui.md) > [XunitV3](Windows_VisualStudio_Gui_XunitV3.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Windows_VisualStudio_Gui_XunitV3_AppVeyor.md)
+ * [GitHub Actions](Windows_VisualStudio_Gui_XunitV3_GitHubActions.md)
+ * [Azure DevOps](Windows_VisualStudio_Gui_XunitV3_AzureDevOps.md)
+ * [No build server](Windows_VisualStudio_Gui_XunitV3_None.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui_XunitV3_AppVeyor.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui_XunitV3_AppVeyor.source.md
new file mode 100644
index 0000000000..69733ed813
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui_XunitV3_AppVeyor.source.md
@@ -0,0 +1,104 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio](Windows_VisualStudio.md) > [Prefer GUI](Windows_VisualStudio_Gui.md) > [XunitV3](Windows_VisualStudio_Gui_XunitV3.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+include: build-server-appveyor
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui_XunitV3_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui_XunitV3_AzureDevOps.source.md
new file mode 100644
index 0000000000..2b6c9ef4c8
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui_XunitV3_AzureDevOps.source.md
@@ -0,0 +1,104 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio](Windows_VisualStudio.md) > [Prefer GUI](Windows_VisualStudio_Gui.md) > [XunitV3](Windows_VisualStudio_Gui_XunitV3.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+include: build-server-azuredevops
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui_XunitV3_GitHubActions.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui_XunitV3_GitHubActions.source.md
new file mode 100644
index 0000000000..ce50195814
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui_XunitV3_GitHubActions.source.md
@@ -0,0 +1,104 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio](Windows_VisualStudio.md) > [Prefer GUI](Windows_VisualStudio_Gui.md) > [XunitV3](Windows_VisualStudio_Gui_XunitV3.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+include: build-server-githubactions
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui_XunitV3_None.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui_XunitV3_None.source.md
new file mode 100644
index 0000000000..51d9c55658
--- /dev/null
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui_XunitV3_None.source.md
@@ -0,0 +1,100 @@
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio](Windows_VisualStudio.md) > [Prefer GUI](Windows_VisualStudio_Gui.md) > [XunitV3](Windows_VisualStudio_Gui_XunitV3.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+snippet: xunitv3-nugets
+
+
+## Implicit Usings
+
+include: implicit-usings
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+include: include-exclude
+
+
+### Text file settings
+
+include: text-file-settings
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunitV3
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+snippet: SampleTestXunitV3
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui_Xunit_AppVeyor.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui_Xunit_AppVeyor.source.md
index 6e896a08d9..60453c841b 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Gui_Xunit_AppVeyor.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui_Xunit_AppVeyor.source.md
@@ -15,17 +15,26 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui_Xunit_AzureDevOps.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui_Xunit_AzureDevOps.source.md
index a5895fb95f..6fadfb407e 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Gui_Xunit_AzureDevOps.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui_Xunit_AzureDevOps.source.md
@@ -15,17 +15,26 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui_Xunit_GitHubActions.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui_Xunit_GitHubActions.source.md
index 60de9f08e4..97fa28393f 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Gui_Xunit_GitHubActions.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui_Xunit_GitHubActions.source.md
@@ -15,17 +15,26 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/mdsource/wiz/Windows_VisualStudio_Gui_Xunit_None.source.md b/docs/mdsource/wiz/Windows_VisualStudio_Gui_Xunit_None.source.md
index b3d7af53e4..45f577e6d5 100644
--- a/docs/mdsource/wiz/Windows_VisualStudio_Gui_Xunit_None.source.md
+++ b/docs/mdsource/wiz/Windows_VisualStudio_Gui_Xunit_None.source.md
@@ -15,17 +15,26 @@ snippet: xunit-nugets
include: implicit-usings
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
include: include-exclude
+
### Text file settings
include: text-file-settings
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+snippet: VerifyChecksXunit
+
+
## DiffEngineTray
Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
diff --git a/docs/named-tuples.md b/docs/named-tuples.md
index 64bca59d69..835be2934f 100644
--- a/docs/named-tuples.md
+++ b/docs/named-tuples.md
@@ -19,7 +19,7 @@ Given a method that returns a named tuple:
static (bool Member1, string Member2, string Member3) MethodWithNamedTuple() =>
(true, "A", "B");
```
-snippet source | anchor
+snippet source | anchor
Can be verified:
@@ -29,7 +29,7 @@ Can be verified:
```cs
await VerifyTuple(() => MethodWithNamedTuple());
```
-snippet source | anchor
+snippet source | anchor
Resulting in:
diff --git a/docs/naming.md b/docs/naming.md
index f6c1659935..8183ff3722 100644
--- a/docs/naming.md
+++ b/docs/naming.md
@@ -18,7 +18,12 @@ The format is
## Directory
-The directory that contains the test. A custom directory can be used via `UseDirectory`:
+The directory that contains the test.
+
+The path provided can be absolute or relative to the directory that contains the test.
+
+
+### Instance
@@ -30,6 +35,9 @@ await Verify("valueUseDirectory", settings);
snippet source | anchor
+
+### Fluent
+
```cs
@@ -41,13 +49,14 @@ await Verify("valueUseDirectoryFluent")
Will result in `CustomDirectory/TypeName.MethodName.verified.txt`.
-The path provided can be absolute or relative to the directory that contains the test.
-
## TestClassName
The class name that contains the test. A custom test name can be used via `UseTypeName`:
+
+### Instance
+
```cs
@@ -58,6 +67,9 @@ await Verify("valueUseTypeName", settings);
snippet source | anchor
+
+### Fluent
+
```cs
@@ -86,6 +98,9 @@ await Verify("valueUseMethodName", settings);
Will result in `TestClass.CustomMethodName.verified.txt`.
+
+### Fluent
+
```cs
@@ -121,6 +136,9 @@ public Task MultipleCalls() =>
To fully control the `{TestClassName}.{TestMethodName}_{Parameters}` parts of the file use `UseFileName`:
+
+### Instance
+
```cs
@@ -133,6 +151,9 @@ await Verify("valueUseFileName", settings);
Will result in `CustomFileName.verified.txt`.
+
+### Fluent
+
```cs
@@ -307,7 +328,7 @@ public class UniqueForSample
.UniqueForOSPlatform();
}
```
-snippet source | anchor
+snippet source | anchor
@@ -473,6 +494,83 @@ let uniqueTests =
+### TUnit
+
+
+
+```cs
+public class UniqueForSample
+{
+ [Test]
+ public Task Runtime()
+ {
+ var settings = new VerifySettings();
+ settings.UniqueForRuntime();
+ return Verify("value", settings);
+ }
+
+ [Test]
+ public Task RuntimeFluent() =>
+ Verify("value")
+ .UniqueForRuntime();
+
+ [Test]
+ public Task AssemblyConfiguration()
+ {
+ var settings = new VerifySettings();
+ settings.UniqueForAssemblyConfiguration();
+ return Verify("value", settings);
+ }
+
+ [Test]
+ public Task AssemblyConfigurationFluent() =>
+ Verify("value")
+ .UniqueForAssemblyConfiguration();
+
+ [Test]
+ public Task RuntimeAndVersion()
+ {
+ var settings = new VerifySettings();
+ settings.UniqueForRuntimeAndVersion();
+ return Verify("value", settings);
+ }
+
+ [Test]
+ public Task RuntimeAndVersionFluent() =>
+ Verify("value")
+ .UniqueForRuntimeAndVersion();
+
+ [Test]
+ public Task Architecture()
+ {
+ var settings = new VerifySettings();
+ settings.UniqueForArchitecture();
+ return Verify("value", settings);
+ }
+
+ [Test]
+ public Task ArchitectureFluent() =>
+ Verify("value")
+ .UniqueForArchitecture();
+
+ [Test]
+ public Task OSPlatform()
+ {
+ var settings = new VerifySettings();
+ settings.UniqueForOSPlatform();
+ return Verify("value", settings);
+ }
+
+ [Test]
+ public Task OSPlatformFluent() =>
+ Verify("value")
+ .UniqueForOSPlatform();
+}
+```
+snippet source | anchor
+
+
+
### Result
For a project executed on both x64 and x86 that targets
@@ -534,7 +632,7 @@ public class ExtensionSample
extension: "xml");
}
```
-snippet source | anchor
+snippet source | anchor
Result in:
@@ -584,8 +682,8 @@ For example to place all `.verified.` files in a `{ProjectDirectory}\Snapshots`
### Xunit
-
-
+
+
```cs
Verifier.DerivePathInfo(
(sourceFile, projectDirectory, type, method) => new(
@@ -593,7 +691,7 @@ Verifier.DerivePathInfo(
typeName: type.Name,
methodName: method.Name));
```
-snippet source | anchor
+snippet source | anchor
@@ -623,7 +721,7 @@ Verifier.DerivePathInfo(
typeName: type.Name,
methodName: method.Name));
```
-snippet source | anchor
+snippet source | anchor
@@ -638,7 +736,7 @@ Verifier.DerivePathInfo(
typeName: type,
methodName: method));
```
-snippet source | anchor
+snippet source | anchor
@@ -778,6 +876,54 @@ eg. add the following to `.gitignore`
`*.received/`
-## Received and multi-targetting
+## Received and multi-targeting
+
+When a test project uses more than one `TargetFrameworks` (eg `net48;net7.0 `) the runtime and version will be always be added as a uniqueness to the received file. This prevents file locking contention when the tests from both target framework run in parallel.
+
+
+## Orphaned verified files
+
+One problem with Verify is there is currently no way to track or clean up orphaned verified files.
+
+
+### Scenario
+
+Given the following test
+
+```
+[TestFixture]
+public class MyFixture
+{
+ [Test]
+ public Task MyTest1() => Verify("Value");
+}
+```
+
+The resulting verified file will be `MyFixture.MyTest1.verified.txt`
+
+Now the test is changed to
+
+```
+[TestFixture]
+public class MyFixture
+{
+ [Test]
+ public Task Test1() => Verify("Value");
+}
+```
+
+The new resulting verified file will be `MyFixture.Test1.verified.txt`.
+
+The old file, `MyFixture.MyTest1.verified.txt`, will be now orphaned and never be cleaned up.
+
+
+### Mitigation
+
+For small renames, with resulting small number of orphaned files, the recommended approach is to manually rename the verified files. Or alternatively:
+
+ * Delete the orphaned `*.verified.*` files.
+ * Run the test(s)
+ * Accept all changes using one of the [Snapshot management](https://github.com/VerifyTests/Verify?tab=readme-ov-file#snapshot-management) approaches.
-When a test project uses more than one `TargetFrameworks` (eg `net48;net7.0 `) the runtime and version will be always be added as a uniqueness to the received file. This prevents file locking contenction when the tests from both target framework run in parallel.
+In some scenarios it may be necessary to clean up many orphaned files. For example from a rename of test fixture with many tests, or a test with many parameter permutations. In this case the delete can be performed by [DiffEngine Tray - Purge verified files
+](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#purge-verified-files) feature.
diff --git a/docs/parameterised-expecto.md b/docs/parameterised-expecto.md
new file mode 100644
index 0000000000..af673dde8e
--- /dev/null
+++ b/docs/parameterised-expecto.md
@@ -0,0 +1,10 @@
+
+
+# Expecto Parameterised Tests
+
+Verify.Expecto Does not currently support parameters.
diff --git a/docs/parameterised-fixie.md b/docs/parameterised-fixie.md
new file mode 100644
index 0000000000..9c15b5c789
--- /dev/null
+++ b/docs/parameterised-fixie.md
@@ -0,0 +1,213 @@
+
+
+# Fixie Parameterised Tests
+
+
+## UseParameters()
+
+`UseParameters()` controls what parameters are used when naming files.
+
+Verify.Fixie automatically detects the method parameters via a [custom ITestProject](#custom-parameterisation).
+
+
+### Usage:
+
+
+
+```cs
+[TestCase("Value1")]
+[TestCase("Value2")]
+public Task UseParametersUsage(string arg)
+{
+ var somethingToVerify = $"{arg} some text";
+ return Verify(somethingToVerify)
+ .UseParameters(arg);
+}
+```
+snippet source | anchor
+
+
+If not all parameters are required, a subset can be passed in. In this scenario, the parameters passed in will match with the method parameter names from the start. For example the following will result in a file named `ParametersSample.UseParametersSubSet_arg1=Value1_arg2=Value2.verified.txt`
+
+
+
+```cs
+[TestCase("Value1", "Value2", "Value3")]
+public Task UseParametersSubSet(string arg1, string arg2, string arg3)
+{
+ var somethingToVerify = $"{arg1} {arg2} {arg3} some text";
+ return Verify(somethingToVerify)
+ .UseParameters(arg1, arg2);
+}
+```
+snippet source | anchor
+
+
+If the number of parameters passed to `UseParameters()` is greater than the number of parameters in the test method, an exception will be thrown.
+
+
+## Custom parameterisation
+
+Fixie has no build in test parameterisation. Test parameterisation need to be implemented by the consuming library. See [Attribute-Based Parameterization](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#recipe-attribute-based-parameterization) for an example.
+
+Verify.Fixie requires some customisation of the above example.
+
+ * Inside `ITestProject.Configure` call `VerifierSettings.AssignTargetAssembly(environment.Assembly);`
+ * Inside `IExecution.Run` wrap `test.Run` in `using (ExecutionState.Set(testClass, test, parameters))`
+
+Example implementation:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+Resulting usage:
+
+
+
+```cs
+[TestCase("Value1")]
+[TestCase("Value2")]
+public Task TestCaseUsage(string arg) =>
+ Verify(arg);
+```
+snippet source | anchor
+
+
+
+## Overriding text used for parameters
+
+`UseTextForParameters()` can be used to override the substitution text used for the `{Parameters}` part of the file convention.
+
+```
+{Directory}/{TestClassName}.{TestMethodName}_{Parameters}_{UniqueFor1}_{UniqueFor2}_{UniqueForX}.verified.{extension}
+```
+
+The below samples produce:
+
+For the instance case:
+
+ * TheTest.UseTextForParameters_Value1.verified.txt
+ * TheTest.UseTextForParameters_Value2.verified.txt
+
+For the fluent case:
+
+ * TheTest.UseTextForParametersFluent_Value1.verified.txt
+ * TheTest.UseTextForParametersFluent_Value2.verified.txt
+
+
+### Instance
+
+
+
+```cs
+[TestCase("Value1")]
+[TestCase("Value2")]
+public Task UseTextForParameters(string arg)
+{
+ var settings = new VerifySettings();
+ settings.UseTextForParameters(arg);
+ return Verify(arg + "UseTextForParameters", settings);
+}
+```
+snippet source | anchor
+
+
+
+### Fluent
+
+
+
+```cs
+[TestCase("Value1")]
+[TestCase("Value2")]
+public Task UseTextForParametersFluent(string arg) =>
+ Verify(arg + "UseTextForParametersFluent")
+ .UseTextForParameters(arg);
+```
+snippet source | anchor
+
+
+
+## Ignore parameters for verified filename
+
+By default, Verify expects every parameterized case to have a unique [file name](/docs/naming.md) with the parameters appended to the file name. This behavior can be overridden by using `IgnoreParametersForVerified()`. In this case, the verified file name does not contain the parameter values, meaning it is the same for each testcase.
+
+`IgnoreParametersForVerified` accepts an array for passing through the parameters. These values are passed to [UseParameters](#UseParameters). This is required for MSTest, and xUnit. Parameters should not be passed for NUnit, TUnit and Fixie since they are automatically detected.
+
+The below samples produce:
+
+For the instance case:
+
+ * NamerTests.IgnoreParametersForVerified_arg=One.received.txt
+ * NamerTests.IgnoreParametersForVerified_arg=Two.received.txt
+ * NamerTests.IgnoreParametersForVerified.verified.txt
+
+For the fluent case:
+
+ * NamerTests.IgnoreParametersForVerifiedFluent_arg=One.received.txt
+ * NamerTests.IgnoreParametersForVerifiedFluent_arg=Two.received.txt
+ * NamerTests.IgnoreParametersForVerifiedFluent.verified.txt
+
+
+## IgnoreParametersForVerified with override parameters
+
+The parameters passed to IgnoreParametersForVerified can be used pass custom parameters to [UseParameters](#UseParameters).
+
+
+## Hashing parameters
+
+Parameters can be hashed as an alternative to being stringified. This is useful when the parameters are large and could potentially generate file names that exceed allowances of the OS.
+
+Hashing parameter is achieved by using `HashParameters`.
+
+[Overriding text used for parameters](#overriding-text-used-for-parameters) is respected when generating the hash.
+
+[XxHash64](https://learn.microsoft.com/en-us/dotnet/api/system.io.hashing.xxhash64) is used to perform the hash.
diff --git a/docs/parameterised-mstest.md b/docs/parameterised-mstest.md
new file mode 100644
index 0000000000..3308e3ba71
--- /dev/null
+++ b/docs/parameterised-mstest.md
@@ -0,0 +1,229 @@
+
+
+# MSTest Parameterised Tests
+
+
+## UseParameters()
+
+`UseParameters()` controls what parameters are used when naming files.
+
+Verify.MSTest does not detect the parametrised arguments, as such `UseParameters()` is required.
+
+
+
+```cs
+[DataTestMethod]
+[DataRow("Value1")]
+[DataRow("Value2")]
+public Task UseParametersUsage(string arg)
+{
+ var somethingToVerify = $"{arg} some text";
+ return Verify(somethingToVerify)
+ .UseParameters(arg);
+}
+```
+snippet source | anchor
+
+
+If not all parameters are required, a subset can be passed in. In this scenario, the parameters passed in will match with the method parameter names from the start. For example the following will result in a file named `ParametersSample.UseParametersSubSet_arg1=Value1_arg2=Value2.verified.txt`
+
+
+
+```cs
+[DataTestMethod]
+[DataRow("Value1", "Value2", "Value3")]
+public Task UseParametersSubSet(string arg1, string arg2, string arg3)
+{
+ var somethingToVerify = $"{arg1} {arg2} {arg3} some text";
+ return Verify(somethingToVerify)
+ .UseParameters(arg1, arg2);
+}
+```
+snippet source | anchor
+
+
+If the number of parameters passed to `UseParameters()` is greater than the number of parameters in the test method, an exception will be thrown.
+
+
+### DataRow
+
+
+#### Instance
+
+
+
+```cs
+[DataTestMethod]
+[DataRow("Value1")]
+[DataRow("Value2")]
+public Task DataRowUsage(string arg)
+{
+ var settings = new VerifySettings();
+ settings.UseParameters(arg);
+ return Verify(arg, settings);
+}
+```
+snippet source | anchor
+
+
+
+#### Fluent
+
+
+
+```cs
+[DataTestMethod]
+[DataRow("Value1")]
+[DataRow("Value2")]
+public Task DataRowUsageFluent(string arg) =>
+ Verify(arg)
+ .UseParameters(arg);
+```
+snippet source | anchor
+
+
+
+## Overriding text used for parameters
+
+`UseTextForParameters()` can be used to override the substitution text used for the `{Parameters}` part of the file convention.
+
+```
+{Directory}/{TestClassName}.{TestMethodName}_{Parameters}_{UniqueFor1}_{UniqueFor2}_{UniqueForX}.verified.{extension}
+```
+
+The below samples produce:
+
+For the instance case:
+
+ * TheTest.UseTextForParameters_Value1.verified.txt
+ * TheTest.UseTextForParameters_Value2.verified.txt
+
+For the fluent case:
+
+ * TheTest.UseTextForParametersFluent_Value1.verified.txt
+ * TheTest.UseTextForParametersFluent_Value2.verified.txt
+
+
+
+
+```cs
+[DataTestMethod]
+[DataRow("Value1")]
+public Task UseTextForParameters(string arg) =>
+ Verify(arg)
+ .UseTextForParameters("TextForParameter");
+```
+snippet source | anchor
+
+
+
+## Ignore parameters for verified filename
+
+By default, Verify expects every parameterized case to have a unique [file name](/docs/naming.md) with the parameters appended to the file name. This behavior can be overridden by using `IgnoreParametersForVerified()`. In this case, the verified file name does not contain the parameter values, meaning it is the same for each testcase.
+
+`IgnoreParametersForVerified` accepts an array for passing through the parameters. These values are passed to [UseParameters](#UseParameters). This is required for MSTest, and xUnit. Parameters should not be passed for NUnit, TUnit and Fixie since they are automatically detected.
+
+The below samples produce:
+
+For the instance case:
+
+ * NamerTests.IgnoreParametersForVerified_arg=One.received.txt
+ * NamerTests.IgnoreParametersForVerified_arg=Two.received.txt
+ * NamerTests.IgnoreParametersForVerified.verified.txt
+
+For the fluent case:
+
+ * NamerTests.IgnoreParametersForVerifiedFluent_arg=One.received.txt
+ * NamerTests.IgnoreParametersForVerifiedFluent_arg=Two.received.txt
+ * NamerTests.IgnoreParametersForVerifiedFluent.verified.txt
+
+
+### Instance
+
+
+
+```cs
+[DataTestMethod]
+[DataRow("One")]
+[DataRow("Two")]
+public Task IgnoreParametersForVerified(string arg)
+{
+ var settings = new VerifySettings();
+ settings.IgnoreParametersForVerified(arg);
+ return Verify("value", settings);
+}
+```
+snippet source | anchor
+
+
+
+### Fluent
+
+
+
+```cs
+[DataTestMethod]
+[DataRow("One")]
+[DataRow("Two")]
+public Task IgnoreParametersForVerifiedFluent(string arg) =>
+ Verify("value")
+ .IgnoreParametersForVerified(arg);
+```
+snippet source | anchor
+
+
+
+## IgnoreParametersForVerified with override parameters
+
+The parameters passed to IgnoreParametersForVerified can be used pass custom parameters to [UseParameters](#UseParameters).
+
+
+### Instance
+
+
+
+```cs
+[DataTestMethod]
+[DataRow("One")]
+[DataRow("Two")]
+public Task IgnoreParametersForVerifiedCustomParams(string arg)
+{
+ var settings = new VerifySettings();
+ settings.IgnoreParametersForVerified($"Number{arg}");
+ return Verify("value", settings);
+}
+```
+snippet source | anchor
+
+
+
+### Fluent
+
+
+
+```cs
+[DataTestMethod]
+[DataRow("One")]
+[DataRow("Two")]
+public Task IgnoreParametersForVerifiedFluentCustomParams(string arg) =>
+ Verify("value")
+ .IgnoreParametersForVerified($"Number{arg}");
+```
+snippet source | anchor
+
+
+
+## Hashing parameters
+
+Parameters can be hashed as an alternative to being stringified. This is useful when the parameters are large and could potentially generate file names that exceed allowances of the OS.
+
+Hashing parameter is achieved by using `HashParameters`.
+
+[Overriding text used for parameters](#overriding-text-used-for-parameters) is respected when generating the hash.
+
+[XxHash64](https://learn.microsoft.com/en-us/dotnet/api/system.io.hashing.xxhash64) is used to perform the hash.
diff --git a/docs/parameterised-nunit.md b/docs/parameterised-nunit.md
new file mode 100644
index 0000000000..0f7092f31b
--- /dev/null
+++ b/docs/parameterised-nunit.md
@@ -0,0 +1,280 @@
+
+
+# NUnit Parameterised Tests
+
+
+## UseParameters()
+
+`UseParameters()` controls what parameters are used when naming files.
+
+Verify.NUnit automatically detects the method parameters. So `UseParameters()` is not required unless using custom parameters.
+
+If not all parameters are required, a subset can be passed in. In this scenario, the parameters passed in will match with the method parameter names from the start. For example the following will result in a file named `ParametersSample.UseParametersSubSet_arg1=Value1_arg2=Value2.verified.txt`
+
+
+
+```cs
+[TestCase("Value1", "Value2", "Value3")]
+public Task UseParametersSubSet(string arg1, string arg2, string arg3)
+{
+ var somethingToVerify = $"{arg1} {arg2} {arg3} some text";
+ return Verify(somethingToVerify)
+ .UseParameters(arg1, arg2);
+}
+```
+snippet source | anchor
+
+
+If the number of parameters passed to `UseParameters()` is greater than the number of parameters in the test method, an exception will be thrown.
+
+
+### TestCase
+
+
+
+```cs
+[TestCase("Value1")]
+[TestCase("Value2")]
+public Task TestCaseUsage(string arg) =>
+ Verify(arg);
+```
+snippet source | anchor
+
+
+
+### TestFixtureSourceUsage
+
+When using a [TestFixtureSource](https://docs.nunit.org/articles/nunit/writing-tests/attributes/testfixturesource.html) the name provided by NUnit will be as the `TestMethodName`.
+
+
+
+```cs
+[TestFixtureSource(nameof(FixtureArgs))]
+public class TestFixtureSourceUsage(string arg1, int arg2)
+{
+ [Test]
+ public Task Test() =>
+ Verify(
+ new
+ {
+ arg1,
+ arg2
+ });
+
+ static object[] FixtureArgs =
+ [
+ new object[]
+ {
+ "Value1",
+ 1
+ },
+ new object[]
+ {
+ "Value2",
+ 2
+ }
+ ];
+}
+```
+snippet source | anchor
+
+
+Produces:
+
+ * `TestFixtureSourceUsage.Test_arg1=Value1_arg2=1.verified.txt`
+ * `TestFixtureSourceUsage.Test_arg1=Value2_arg2=2.verified.txt`
+
+
+## Overriding text used for parameters
+
+`UseTextForParameters()` can be used to override the substitution text used for the `{Parameters}` part of the file convention.
+
+```
+{Directory}/{TestClassName}.{TestMethodName}_{Parameters}_{UniqueFor1}_{UniqueFor2}_{UniqueForX}.verified.{extension}
+```
+
+The below samples produce:
+
+For the instance case:
+
+ * TheTest.UseTextForParameters_Value1.verified.txt
+ * TheTest.UseTextForParameters_Value2.verified.txt
+
+For the fluent case:
+
+ * TheTest.UseTextForParametersFluent_Value1.verified.txt
+ * TheTest.UseTextForParametersFluent_Value2.verified.txt
+
+
+### Instance
+
+
+
+```cs
+[TestCase("Value1")]
+[TestCase("Value2")]
+public Task UseTextForParameters(string arg)
+{
+ var settings = new VerifySettings();
+ settings.UseTextForParameters(arg);
+ return Verify(arg + "UseTextForParameters", settings);
+}
+```
+snippet source | anchor
+
+
+
+### Fluent
+
+
+
+```cs
+[TestCase("Value1")]
+[TestCase("Value2")]
+public Task UseTextForParametersFluent(string arg) =>
+ Verify(arg + "UseTextForParametersFluent")
+ .UseTextForParameters(arg);
+```
+snippet source | anchor
+
+
+
+## Ignore parameters for verified filename
+
+By default, Verify expects every parameterized case to have a unique [file name](/docs/naming.md) with the parameters appended to the file name. This behavior can be overridden by using `IgnoreParametersForVerified()`. In this case, the verified file name does not contain the parameter values, meaning it is the same for each testcase.
+
+`IgnoreParametersForVerified` accepts an array for passing through the parameters. These values are passed to [UseParameters](#UseParameters). This is required for MSTest, and xUnit. Parameters should not be passed for NUnit, TUnit and Fixie since they are automatically detected.
+
+The below samples produce:
+
+For the instance case:
+
+ * NamerTests.IgnoreParametersForVerified_arg=One.received.txt
+ * NamerTests.IgnoreParametersForVerified_arg=Two.received.txt
+ * NamerTests.IgnoreParametersForVerified.verified.txt
+
+For the fluent case:
+
+ * NamerTests.IgnoreParametersForVerifiedFluent_arg=One.received.txt
+ * NamerTests.IgnoreParametersForVerifiedFluent_arg=Two.received.txt
+ * NamerTests.IgnoreParametersForVerifiedFluent.verified.txt
+
+
+### Instance
+
+
+
+```cs
+[TestCase("One")]
+[TestCase("Two")]
+public Task IgnoreParametersForVerified(string arg)
+{
+ var settings = new VerifySettings();
+ settings.IgnoreParametersForVerified();
+ return Verify("value", settings);
+}
+```
+snippet source | anchor
+
+
+
+### Fluent
+
+
+
+```cs
+[TestCase("One")]
+[TestCase("Two")]
+public Task IgnoreParametersForVerifiedFluent(string arg) =>
+ Verify("value")
+ .IgnoreParametersForVerified();
+```
+snippet source | anchor
+
+
+
+## IgnoreParametersForVerified with override parameters
+
+The parameters passed to IgnoreParametersForVerified can be used pass custom parameters to [UseParameters](#UseParameters).
+
+
+### Instance
+
+
+
+```cs
+[TestCase("One")]
+[TestCase("Two")]
+public Task IgnoreParametersForVerifiedCustomParams(string arg)
+{
+ var settings = new VerifySettings();
+ settings.IgnoreParametersForVerified($"Number{arg}");
+ return Verify("value", settings);
+}
+```
+snippet source | anchor
+
+
+
+### Fluent
+
+
+
+```cs
+[TestCase("One")]
+[TestCase("Two")]
+public Task IgnoreParametersForVerifiedCustomParamsFluent(string arg) =>
+ Verify("value")
+ .IgnoreParametersForVerified($"Number{arg}");
+```
+snippet source | anchor
+
+
+
+## Hashing parameters
+
+Parameters can be hashed as an alternative to being stringified. This is useful when the parameters are large and could potentially generate file names that exceed allowances of the OS.
+
+Hashing parameter is achieved by using `HashParameters`.
+
+[Overriding text used for parameters](#overriding-text-used-for-parameters) is respected when generating the hash.
+
+[XxHash64](https://learn.microsoft.com/en-us/dotnet/api/system.io.hashing.xxhash64) is used to perform the hash.
+
+
+### Instance
+
+
+
+```cs
+[TestCase("Value1")]
+[TestCase("Value2")]
+public Task HashParametersUsage(string arg)
+{
+ var settings = new VerifySettings();
+ settings.HashParameters();
+ return Verify(arg, settings);
+}
+```
+snippet source | anchor
+
+
+
+### Fluent
+
+
+
+```cs
+[TestCase("Value1")]
+[TestCase("Value2")]
+public Task HashParametersUsageFluent(string arg) =>
+ Verify(arg)
+ .HashParameters();
+```
+snippet source | anchor
+
diff --git a/docs/parameterised-tunit.md b/docs/parameterised-tunit.md
new file mode 100644
index 0000000000..af9f7fe6bb
--- /dev/null
+++ b/docs/parameterised-tunit.md
@@ -0,0 +1,267 @@
+
+
+# TUnit Parameterised Tests
+
+
+## UseParameters()
+
+`UseParameters()` controls what parameters are used when naming files.
+
+Verify.TUnit automatically detects the method parameters. So `UseParameters()` is not required unless using custom parameters.
+
+
+### Usage:
+
+For the above scenarios where parameters are not automatically detected:
+
+
+
+```cs
+[Test]
+[Arguments("Value1")]
+public Task UseParametersUsage(string arg)
+{
+ var somethingToVerify = $"{arg} some text";
+ return Verify(somethingToVerify)
+ .UseParameters(arg);
+}
+```
+snippet source | anchor
+
+
+If not all parameters are required, a subset can be passed in. In this scenario, the parameters passed in will match with the method parameter names from the start. For example the following will result in a file named `ParametersSample.UseParametersSubSet_arg1=Value1_arg2=Value2.verified.txt`
+
+
+
+```cs
+[Test]
+[Arguments("Value1", "Value2", "Value3")]
+public Task UseParametersSubSet(string arg1, string arg2, string arg3)
+{
+ var somethingToVerify = $"{arg1} {arg2} {arg3} some text";
+ return Verify(somethingToVerify)
+ .UseParameters(arg1, arg2);
+}
+```
+snippet source | anchor
+
+
+If the number of parameters passed to `UseParameters()` is greater than the number of parameters in the test method, an exception will be thrown.
+
+
+### TestCase
+
+
+
+```cs
+[Test]
+[Arguments("Value1")]
+[Arguments("Value2")]
+public Task TestCaseUsage(string arg) =>
+ Verify(arg);
+```
+snippet source | anchor
+
+
+
+## Overriding text used for parameters
+
+`UseTextForParameters()` can be used to override the substitution text used for the `{Parameters}` part of the file convention.
+
+```
+{Directory}/{TestClassName}.{TestMethodName}_{Parameters}_{UniqueFor1}_{UniqueFor2}_{UniqueForX}.verified.{extension}
+```
+
+The below samples produce:
+
+For the instance case:
+
+ * TheTest.UseTextForParameters_Value1.verified.txt
+ * TheTest.UseTextForParameters_Value2.verified.txt
+
+For the fluent case:
+
+ * TheTest.UseTextForParametersFluent_Value1.verified.txt
+ * TheTest.UseTextForParametersFluent_Value2.verified.txt
+
+
+### Instance
+
+
+
+```cs
+[Test]
+[Arguments("Value1")]
+[Arguments("Value2")]
+public Task UseTextForParameters(string arg)
+{
+ var settings = new VerifySettings();
+ settings.UseTextForParameters(arg);
+ return Verify(arg + "UseTextForParameters", settings);
+}
+```
+snippet source | anchor
+
+
+
+### Fluent
+
+
+
+```cs
+[Test]
+[Arguments("Value1")]
+[Arguments("Value2")]
+public Task UseTextForParametersFluent(string arg) =>
+ Verify(arg + "UseTextForParametersFluent")
+ .UseTextForParameters(arg);
+```
+snippet source | anchor
+
+
+
+## Ignore parameters for verified filename
+
+By default, Verify expects every parameterized case to have a unique [file name](/docs/naming.md) with the parameters appended to the file name. This behavior can be overridden by using `IgnoreParametersForVerified()`. In this case, the verified file name does not contain the parameter values, meaning it is the same for each testcase.
+
+`IgnoreParametersForVerified` accepts an array for passing through the parameters. These values are passed to [UseParameters](#UseParameters). This is required for MSTest, and xUnit. Parameters should not be passed for NUnit, TUnit and Fixie since they are automatically detected.
+
+The below samples produce:
+
+For the instance case:
+
+ * NamerTests.IgnoreParametersForVerified_arg=One.received.txt
+ * NamerTests.IgnoreParametersForVerified_arg=Two.received.txt
+ * NamerTests.IgnoreParametersForVerified.verified.txt
+
+For the fluent case:
+
+ * NamerTests.IgnoreParametersForVerifiedFluent_arg=One.received.txt
+ * NamerTests.IgnoreParametersForVerifiedFluent_arg=Two.received.txt
+ * NamerTests.IgnoreParametersForVerifiedFluent.verified.txt
+
+
+### Instance
+
+
+
+```cs
+[Test]
+[Arguments("One")]
+[Arguments("Two")]
+public Task IgnoreParametersForVerified(string arg)
+{
+ var settings = new VerifySettings();
+ settings.IgnoreParametersForVerified();
+ return Verify("value", settings);
+}
+```
+snippet source | anchor
+
+
+
+### Fluent
+
+
+
+```cs
+[Test]
+[Arguments("One")]
+[Arguments("Two")]
+public Task IgnoreParametersForVerifiedFluent(string arg) =>
+ Verify("value")
+ .IgnoreParametersForVerified();
+```
+snippet source | anchor
+
+
+
+## IgnoreParametersForVerified with override parameters
+
+The parameters passed to IgnoreParametersForVerified can be used pass custom parameters to [UseParameters](#UseParameters).
+
+
+### Instance
+
+
+
+```cs
+[Test]
+[Arguments("One")]
+[Arguments("Two")]
+public Task IgnoreParametersForVerifiedCustomParams(string arg)
+{
+ var settings = new VerifySettings();
+ settings.IgnoreParametersForVerified($"Number{arg}");
+ return Verify("value", settings);
+}
+```
+snippet source | anchor
+
+
+
+### Fluent
+
+
+
+```cs
+[Test]
+[Arguments("One")]
+[Arguments("Two")]
+public Task IgnoreParametersForVerifiedCustomParamsFluent(string arg) =>
+ Verify("value")
+ .IgnoreParametersForVerified($"Number{arg}");
+```
+snippet source | anchor
+
+
+
+## Hashing parameters
+
+Parameters can be hashed as an alternative to being stringified. This is useful when the parameters are large and could potentially generate file names that exceed allowances of the OS.
+
+Hashing parameter is achieved by using `HashParameters`.
+
+[Overriding text used for parameters](#overriding-text-used-for-parameters) is respected when generating the hash.
+
+[XxHash64](https://learn.microsoft.com/en-us/dotnet/api/system.io.hashing.xxhash64) is used to perform the hash.
+
+
+### Instance
+
+
+
+```cs
+[Test]
+[Arguments("Value1")]
+[Arguments("Value2")]
+public Task HashParameters(string arg)
+{
+ var settings = new VerifySettings();
+ settings.HashParameters();
+ return Verify(arg, settings);
+}
+```
+snippet source | anchor
+
+
+
+### Fluent
+
+
+
+```cs
+[Test]
+[Arguments("Value1")]
+[Arguments("Value2")]
+public Task HashParametersFluent(string arg) =>
+ Verify(arg)
+ .HashParameters();
+```
+snippet source | anchor
+
diff --git a/docs/parameterised-xunitv2.md b/docs/parameterised-xunitv2.md
new file mode 100644
index 0000000000..26d62c20b1
--- /dev/null
+++ b/docs/parameterised-xunitv2.md
@@ -0,0 +1,454 @@
+
+
+# Xunit V2 Parameterised Tests
+
+
+## UseParameters()
+
+`UseParameters()` controls what parameters are used when naming files.
+
+Verify.Xunit does not detect the parametrised arguments, as such `UseParameters()` is required.
+
+
+### Usage:
+
+For the above scenarios where parameters are not automatically detected:
+
+
+
+```cs
+[Theory]
+[InlineData("Value1")]
+[InlineData("Value2")]
+public Task UseParametersUsage(string arg)
+{
+ var somethingToVerify = $"{arg} some text";
+ return Verify(somethingToVerify)
+ .UseParameters(arg);
+}
+```
+snippet source | anchor
+
+
+If not all parameters are required, a subset can be passed in. In this scenario, the parameters passed in will match with the method parameter names from the start. For example the following will result in a file named `ParametersSample.UseParametersSubSet_arg1=Value1_arg2=Value2.verified.txt`
+
+
+
+```cs
+[Theory]
+[InlineData("Value1", "Value2", "Value3")]
+public Task UseParametersSubSet(string arg1, string arg2, string arg3)
+{
+ var somethingToVerify = $"{arg1} {arg2} {arg3} some text";
+ return Verify(somethingToVerify)
+ .UseParameters(arg1, arg2);
+}
+```
+snippet source | anchor
+
+
+If the number of parameters passed to `UseParameters()` is greater than the number of parameters in the test method, an exception will be thrown.
+
+
+### InlineData
+
+
+#### Instance
+
+
+
+```cs
+[Theory]
+[InlineData("Value1")]
+[InlineData("Value2")]
+public Task InlineDataUsage(string arg)
+{
+ var settings = new VerifySettings();
+ settings.UseParameters(arg);
+ return Verify(arg, settings);
+}
+```
+snippet source | anchor
+
+
+
+#### Fluent
+
+
+
+```cs
+[Theory]
+[InlineData("Value1")]
+[InlineData("Value2")]
+public Task InlineDataUsageFluent(string arg) =>
+ Verify(arg)
+ .UseParameters(arg);
+```
+snippet source | anchor
+
+
+
+### MemberData
+
+Given the following MemberData
+
+
+
+```cs
+public static IEnumerable GetData()
+{
+ yield return
+ [
+ "Value1"
+ ];
+ yield return
+ [
+ "Value2"
+ ];
+}
+```
+snippet source | anchor
+
+
+
+#### Instance
+
+
+
+```cs
+[Theory]
+[MemberData(nameof(GetData))]
+public Task MemberDataUsage(string arg)
+{
+ var settings = new VerifySettings();
+ settings.UseParameters(arg);
+ return Verify(arg, settings);
+}
+```
+snippet source | anchor
+
+
+
+#### Fluent
+
+
+
+```cs
+[Theory]
+[MemberData(nameof(GetData))]
+public Task MemberDataUsageFluent(string arg) =>
+ Verify(arg)
+ .UseParameters(arg);
+```
+snippet source | anchor
+
+
+
+### Complex MemberData
+
+xUnit only exposes parameter information for certain types. For unknown types the information cannot be retrieved from the xUnit context, and instead the text for the parameter value needs to be explicitly specified. This is done by calling `NameForParameter()`.
+
+
+
+```cs
+public class ComplexParametersSample
+{
+ [ModuleInitializer]
+ public static void Initialize()
+ {
+ VerifierSettings.NameForParameter(_ => _.Value);
+ VerifierSettings.NameForParameter(_ => _.Value);
+ }
+
+ [Theory]
+ [MemberData(nameof(GetComplexMemberData))]
+ public Task ComplexMemberData(ComplexData arg)
+ {
+ var settings = new VerifySettings();
+ settings.UseParameters(arg);
+ return Verify(arg, settings);
+ }
+
+ [Theory]
+ [MemberData(nameof(GetComplexMemberData))]
+ public Task ComplexMemberDataFluent(ComplexData arg) =>
+ Verify(arg)
+ .UseParameters(arg);
+
+ [Theory]
+ [MemberData(nameof(GetComplexMemberData))]
+ public Task ComplexMemberNullableData(ComplexData arg)
+ {
+ var settings = new VerifySettings();
+ settings.UseParameters(arg);
+ return Verify(arg, settings);
+ }
+
+ [Theory]
+ [MemberData(nameof(GetComplexMemberData))]
+ public Task ComplexMemberNullableDataFluent(ComplexData arg) =>
+ Verify(arg)
+ .UseParameters(arg);
+
+ public static IEnumerable GetComplexMemberData()
+ {
+ yield return
+ [
+ new ComplexData("Value1")
+ ];
+ yield return
+ [
+ new ComplexData("Value2")
+ ];
+ }
+
+ public record ComplexData(string Value);
+
+ [Theory]
+ [MemberData(nameof(GetComplexMemberStructData))]
+ public Task ComplexMemberStructData(ComplexStructData arg)
+ {
+ var settings = new VerifySettings();
+ settings.UseParameters(arg);
+ return Verify(arg, settings);
+ }
+
+ [Theory]
+ [MemberData(nameof(GetComplexMemberStructData))]
+ public Task ComplexMemberStructDataFluent(ComplexStructData arg) =>
+ Verify(arg)
+ .UseParameters(arg);
+
+ [Theory]
+ [MemberData(nameof(GetComplexMemberStructData))]
+ public Task ComplexMemberNullableStructData(ComplexStructData arg)
+ {
+ var settings = new VerifySettings();
+ settings.UseParameters(arg);
+ return Verify(arg, settings);
+ }
+
+ [Theory]
+ [MemberData(nameof(GetComplexMemberStructData))]
+ public Task ComplexMemberNullableStructDataFluent(ComplexStructData arg) =>
+ Verify(arg)
+ .UseParameters(arg);
+
+ public static IEnumerable GetComplexMemberStructData()
+ {
+ yield return [new ComplexStructData("Value1")];
+ yield return [new ComplexStructData("Value2")];
+ }
+
+ public record ComplexStructData(string Value);
+}
+```
+snippet source | anchor
+
+
+`VerifierSettings.NameForParameter()` is required since the parameter type has no `ToString()` override that can be used for deriving the name of the `.verified.` file.
+
+
+## Overriding text used for parameters
+
+`UseTextForParameters()` can be used to override the substitution text used for the `{Parameters}` part of the file convention.
+
+```
+{Directory}/{TestClassName}.{TestMethodName}_{Parameters}_{UniqueFor1}_{UniqueFor2}_{UniqueForX}.verified.{extension}
+```
+
+The below samples produce:
+
+For the instance case:
+
+ * TheTest.UseTextForParameters_Value1.verified.txt
+ * TheTest.UseTextForParameters_Value2.verified.txt
+
+For the fluent case:
+
+ * TheTest.UseTextForParametersFluent_Value1.verified.txt
+ * TheTest.UseTextForParametersFluent_Value2.verified.txt
+
+
+### Instance
+
+
+
+```cs
+[Theory]
+[InlineData("Value1")]
+[InlineData("Value2")]
+public Task UseTextForParameters(string arg)
+{
+ var settings = new VerifySettings();
+ settings.UseTextForParameters(arg);
+ return Verify(arg + "UseTextForParameters", settings);
+}
+```
+snippet source | anchor
+
+
+
+### Fluent
+
+
+
+```cs
+[Theory]
+[InlineData("Value1")]
+[InlineData("Value2")]
+public Task UseTextForParametersFluent(string arg) =>
+ Verify(arg + "UseTextForParametersFluent")
+ .UseTextForParameters(arg);
+```
+snippet source | anchor
+
+
+
+## Ignore parameters for verified filename
+
+By default, Verify expects every parameterized case to have a unique [file name](/docs/naming.md) with the parameters appended to the file name. This behavior can be overridden by using `IgnoreParametersForVerified()`. In this case, the verified file name does not contain the parameter values, meaning it is the same for each testcase.
+
+`IgnoreParametersForVerified` accepts an array for passing through the parameters. These values are passed to [UseParameters](#UseParameters). This is required for MSTest, and xUnit. Parameters should not be passed for NUnit, TUnit and Fixie since they are automatically detected.
+
+The below samples produce:
+
+For the instance case:
+
+ * NamerTests.IgnoreParametersForVerified_arg=One.received.txt
+ * NamerTests.IgnoreParametersForVerified_arg=Two.received.txt
+ * NamerTests.IgnoreParametersForVerified.verified.txt
+
+For the fluent case:
+
+ * NamerTests.IgnoreParametersForVerifiedFluent_arg=One.received.txt
+ * NamerTests.IgnoreParametersForVerifiedFluent_arg=Two.received.txt
+ * NamerTests.IgnoreParametersForVerifiedFluent.verified.txt
+
+
+### Instance
+
+
+
+```cs
+[Theory]
+[InlineData("One")]
+[InlineData("Two")]
+public Task IgnoreParametersForVerified(string arg)
+{
+ var settings = new VerifySettings();
+ settings.IgnoreParametersForVerified(arg);
+ return Verify("value", settings);
+}
+```
+snippet source | anchor
+
+
+
+### Fluent
+
+
+
+```cs
+[Theory]
+[InlineData("One")]
+[InlineData("Two")]
+public Task IgnoreParametersForVerifiedFluent(string arg) =>
+ Verify("value")
+ .IgnoreParametersForVerified(arg);
+```
+snippet source | anchor
+
+
+
+## IgnoreParametersForVerified with override parameters
+
+The parameters passed to IgnoreParametersForVerified can be used pass custom parameters to [UseParameters](#UseParameters).
+
+
+### Instance
+
+
+
+```cs
+[Theory]
+[InlineData("One")]
+[InlineData("Two")]
+public Task IgnoreParametersForVerifiedCustomParams(string arg)
+{
+ var settings = new VerifySettings();
+ settings.IgnoreParametersForVerified($"Number{arg}");
+ return Verify("value", settings);
+}
+```
+snippet source | anchor
+
+
+
+### Fluent
+
+
+
+```cs
+[Theory]
+[InlineData("One")]
+[InlineData("Two")]
+public Task IgnoreParametersForVerifiedCustomParamsFluent(string arg) =>
+ Verify("value")
+ .IgnoreParametersForVerified($"Number{arg}");
+```
+snippet source | anchor
+
+
+
+## Hashing parameters
+
+Parameters can be hashed as an alternative to being stringified. This is useful when the parameters are large and could potentially generate file names that exceed allowances of the OS.
+
+Hashing parameter is achieved by using `HashParameters`.
+
+[Overriding text used for parameters](#overriding-text-used-for-parameters) is respected when generating the hash.
+
+[XxHash64](https://learn.microsoft.com/en-us/dotnet/api/system.io.hashing.xxhash64) is used to perform the hash.
+
+
+### Instance
+
+
+
+```cs
+[Theory]
+[InlineData("Value1")]
+[InlineData("Value2")]
+public Task HashParametersUsage(string arg)
+{
+ var settings = new VerifySettings();
+ settings.UseParameters(arg);
+ settings.HashParameters();
+ return Verify(arg, settings);
+}
+```
+snippet source | anchor
+
+
+
+### Fluent
+
+
+
+```cs
+[Theory]
+[InlineData("Value1")]
+[InlineData("Value2")]
+public Task HashParametersUsageFluent(string arg) =>
+ Verify(arg)
+ .UseParameters(arg)
+ .HashParameters();
+```
+snippet source | anchor
+
diff --git a/docs/parameterised-xunitv3.md b/docs/parameterised-xunitv3.md
new file mode 100644
index 0000000000..26daf6fb64
--- /dev/null
+++ b/docs/parameterised-xunitv3.md
@@ -0,0 +1,399 @@
+
+
+# Xunit V3 Parameterised Tests
+
+
+## UseParameters()
+
+`UseParameters()` controls what parameters are used when naming files.
+
+Verify.XunitV3 Automatically detect the method parameters for built in types (string, int, bool etc), but for complex parameters `UseParameters()` is required.
+
+
+### Usage:
+
+For the above scenarios where parameters are not automatically detected:
+
+
+
+```cs
+[Theory]
+[InlineData("Value1")]
+[InlineData("Value2")]
+public Task UseParametersUsage(string arg)
+{
+ var somethingToVerify = $"{arg} some text";
+ return Verify(somethingToVerify)
+ .UseParameters(arg);
+}
+```
+snippet source | anchor
+
+
+If not all parameters are required, a subset can be passed in. In this scenario, the parameters passed in will match with the method parameter names from the start. For example the following will result in a file named `ParametersSample.UseParametersSubSet_arg1=Value1_arg2=Value2.verified.txt`
+
+
+
+```cs
+[Theory]
+[InlineData("Value1", "Value2", "Value3")]
+public Task UseParametersSubSet(string arg1, string arg2, string arg3)
+{
+ var somethingToVerify = $"{arg1} {arg2} {arg3} some text";
+ return Verify(somethingToVerify)
+ .UseParameters(arg1, arg2);
+}
+```
+snippet source | anchor
+
+
+If the number of parameters passed to `UseParameters()` is greater than the number of parameters in the test method, an exception will be thrown.
+
+
+### InlineData
+
+
+
+```cs
+[Theory]
+[InlineData("Value1")]
+[InlineData("Value2")]
+public Task InlineDataUsage(string arg) =>
+ Verify(arg);
+```
+snippet source | anchor
+
+
+
+### MemberData
+
+
+
+```cs
+[Theory]
+[MemberData(nameof(GetData))]
+public Task MemberDataUsage(string arg) =>
+ Verify(arg);
+
+public static IEnumerable GetData()
+{
+ yield return
+ [
+ "Value1"
+ ];
+ yield return
+ [
+ "Value2"
+ ];
+}
+```
+snippet source | anchor
+
+
+
+### Complex MemberData
+
+xUnit only exposes parameter information for certain types. For unknown types the information cannot be retrieved from the xUnit context, and instead the text for the parameter value needs to be explicitly specified. This is done by calling `NameForParameter()`.
+
+
+
+```cs
+public class ComplexParametersSample
+{
+ [ModuleInitializer]
+ public static void Initialize()
+ {
+ VerifierSettings.NameForParameter(_ => _.Value);
+ VerifierSettings.NameForParameter(_ => _.Value);
+ }
+
+ [Theory]
+ [MemberData(nameof(GetComplexMemberData))]
+ public Task ComplexMemberData(ComplexData arg)
+ {
+ var settings = new VerifySettings();
+ settings.UseParameters(arg);
+ return Verify(arg, settings);
+ }
+
+ [Theory]
+ [MemberData(nameof(GetComplexMemberData))]
+ public Task ComplexMemberDataFluent(ComplexData arg) =>
+ Verify(arg)
+ .UseParameters(arg);
+
+ [Theory]
+ [MemberData(nameof(GetComplexMemberData))]
+ public Task ComplexMemberNullableData(ComplexData arg)
+ {
+ var settings = new VerifySettings();
+ settings.UseParameters(arg);
+ return Verify(arg, settings);
+ }
+
+ [Theory]
+ [MemberData(nameof(GetComplexMemberData))]
+ public Task ComplexMemberNullableDataFluent(ComplexData arg) =>
+ Verify(arg)
+ .UseParameters(arg);
+
+ public static IEnumerable GetComplexMemberData()
+ {
+ yield return
+ [
+ new ComplexData("Value1")
+ ];
+ yield return
+ [
+ new ComplexData("Value2")
+ ];
+ }
+
+ public record ComplexData(string Value);
+
+ [Theory]
+ [MemberData(nameof(GetComplexMemberStructData))]
+ public Task ComplexMemberStructData(ComplexStructData arg)
+ {
+ var settings = new VerifySettings();
+ settings.UseParameters(arg);
+ return Verify(arg, settings);
+ }
+
+ [Theory]
+ [MemberData(nameof(GetComplexMemberStructData))]
+ public Task ComplexMemberStructDataFluent(ComplexStructData arg) =>
+ Verify(arg)
+ .UseParameters(arg);
+
+ [Theory]
+ [MemberData(nameof(GetComplexMemberStructData))]
+ public Task ComplexMemberNullableStructData(ComplexStructData arg)
+ {
+ var settings = new VerifySettings();
+ settings.UseParameters(arg);
+ return Verify(arg, settings);
+ }
+
+ [Theory]
+ [MemberData(nameof(GetComplexMemberStructData))]
+ public Task ComplexMemberNullableStructDataFluent(ComplexStructData arg) =>
+ Verify(arg)
+ .UseParameters(arg);
+
+ public static IEnumerable GetComplexMemberStructData()
+ {
+ yield return [new ComplexStructData("Value1")];
+ yield return [new ComplexStructData("Value2")];
+ }
+
+ public record ComplexStructData(string Value);
+}
+```
+snippet source | anchor
+
+
+`VerifierSettings.NameForParameter()` is required since the parameter type has no `ToString()` override that can be used for deriving the name of the `.verified.` file.
+
+
+## Overriding text used for parameters
+
+`UseTextForParameters()` can be used to override the substitution text used for the `{Parameters}` part of the file convention.
+
+```
+{Directory}/{TestClassName}.{TestMethodName}_{Parameters}_{UniqueFor1}_{UniqueFor2}_{UniqueForX}.verified.{extension}
+```
+
+The below samples produce:
+
+For the instance case:
+
+ * TheTest.UseTextForParameters_Value1.verified.txt
+ * TheTest.UseTextForParameters_Value2.verified.txt
+
+For the fluent case:
+
+ * TheTest.UseTextForParametersFluent_Value1.verified.txt
+ * TheTest.UseTextForParametersFluent_Value2.verified.txt
+
+
+### Instance
+
+
+
+```cs
+[Theory]
+[InlineData("Value1")]
+[InlineData("Value2")]
+public Task UseTextForParameters(string arg)
+{
+ var settings = new VerifySettings();
+ settings.UseTextForParameters(arg);
+ return Verify(arg + "UseTextForParameters", settings);
+}
+```
+snippet source | anchor
+
+
+
+### Fluent
+
+
+
+```cs
+[Theory]
+[InlineData("Value1")]
+[InlineData("Value2")]
+public Task UseTextForParametersFluent(string arg) =>
+ Verify(arg + "UseTextForParametersFluent")
+ .UseTextForParameters(arg);
+```
+snippet source | anchor
+
+
+
+## Ignore parameters for verified filename
+
+By default, Verify expects every parameterized case to have a unique [file name](/docs/naming.md) with the parameters appended to the file name. This behavior can be overridden by using `IgnoreParametersForVerified()`. In this case, the verified file name does not contain the parameter values, meaning it is the same for each testcase.
+
+`IgnoreParametersForVerified` accepts an array for passing through the parameters. These values are passed to [UseParameters](#UseParameters). This is required for MSTest, and xUnit. Parameters should not be passed for NUnit, TUnit and Fixie since they are automatically detected.
+
+The below samples produce:
+
+For the instance case:
+
+ * NamerTests.IgnoreParametersForVerified_arg=One.received.txt
+ * NamerTests.IgnoreParametersForVerified_arg=Two.received.txt
+ * NamerTests.IgnoreParametersForVerified.verified.txt
+
+For the fluent case:
+
+ * NamerTests.IgnoreParametersForVerifiedFluent_arg=One.received.txt
+ * NamerTests.IgnoreParametersForVerifiedFluent_arg=Two.received.txt
+ * NamerTests.IgnoreParametersForVerifiedFluent.verified.txt
+
+
+### Instance
+
+
+
+```cs
+[Theory]
+[InlineData("One")]
+[InlineData("Two")]
+public Task IgnoreParametersForVerified(string arg)
+{
+ var settings = new VerifySettings();
+ settings.IgnoreParametersForVerified(arg);
+ return Verify("value", settings);
+}
+```
+snippet source | anchor
+
+
+
+### Fluent
+
+
+
+```cs
+[Theory]
+[InlineData("One")]
+[InlineData("Two")]
+public Task IgnoreParametersForVerifiedFluent(string arg) =>
+ Verify("value")
+ .IgnoreParametersForVerified(arg);
+```
+snippet source | anchor
+
+
+
+## IgnoreParametersForVerified with override parameters
+
+The parameters passed to IgnoreParametersForVerified can be used pass custom parameters to [UseParameters](#UseParameters).
+
+
+### Instance
+
+
+
+```cs
+[Theory]
+[InlineData("One")]
+[InlineData("Two")]
+public Task IgnoreParametersForVerifiedCustomParams(string arg)
+{
+ var settings = new VerifySettings();
+ settings.IgnoreParametersForVerified($"Number{arg}");
+ return Verify("value", settings);
+}
+```
+snippet source | anchor
+
+
+
+### Fluent
+
+
+
+```cs
+[Theory]
+[InlineData("One")]
+[InlineData("Two")]
+public Task IgnoreParametersForVerifiedCustomParamsFluent(string arg) =>
+ Verify("value")
+ .IgnoreParametersForVerified($"Number{arg}");
+```
+snippet source | anchor
+
+
+
+## Hashing parameters
+
+Parameters can be hashed as an alternative to being stringified. This is useful when the parameters are large and could potentially generate file names that exceed allowances of the OS.
+
+Hashing parameter is achieved by using `HashParameters`.
+
+[Overriding text used for parameters](#overriding-text-used-for-parameters) is respected when generating the hash.
+
+[XxHash64](https://learn.microsoft.com/en-us/dotnet/api/system.io.hashing.xxhash64) is used to perform the hash.
+
+
+### Instance
+
+
+
+```cs
+[Theory]
+[InlineData("Value1")]
+[InlineData("Value2")]
+public Task HashParametersUsage(string arg)
+{
+ var settings = new VerifySettings();
+ settings.HashParameters();
+ return Verify(arg, settings);
+}
+```
+snippet source | anchor
+
+
+
+### Fluent
+
+
+
+```cs
+[Theory]
+[InlineData("Value1")]
+[InlineData("Value2")]
+public Task HashParametersUsageFluent(string arg) =>
+ Verify(arg)
+ .HashParameters();
+```
+snippet source | anchor
+
diff --git a/docs/parameterised.md b/docs/parameterised.md
index bb1c36b2df..01bf895ffc 100644
--- a/docs/parameterised.md
+++ b/docs/parameterised.md
@@ -7,8 +7,7 @@ To change this file edit the source file and then run MarkdownSnippets.
# Parameterised Tests
-
-## Additions to file name
+## File name suffix
Every parameterised case should have a unique [file name](/docs/naming.md) with the parameters appended to the file name. This happens automatically for NUnit; xUnit and MSTest require the use of `UseParameters()` (see below).
@@ -22,847 +21,18 @@ A test with two parameters `param1` + `param2`, and called twice with the values
### Invalid characters
-Characters that cannot be used for a file name are replaced with a dash (`-`).
-
-
-## UseParameters()
-
-`Verify.NUnit` and `Verify.Fixie` automatically detect the method parameters. So `UseParameters()` is not required unless using custom parameters.
-
-`UseParameters`() is used to control what parameters are used when naming files. The usual usage is to pass though all parameters (in the same order) that the test method accepts:
-
-
-
-```cs
-[Theory]
-[InlineData("Value1")]
-[InlineData("Value2")]
-public Task UseParametersUsage(string arg)
-{
- var somethingToVerify = $"{arg} some text";
- return Verify(somethingToVerify)
- .UseParameters(arg);
-}
-```
-snippet source | anchor
-
-
-If not all parameters are required, a subset can be passed in. In this scenario, the parameters passed in will match with the method parameter names from the start. For example the following will result in a file named `ParametersSample.UseParametersSubSet_arg1=Value1_arg2=Value2.verified.txt`
-
-
-
-```cs
-[Theory]
-[InlineData("Value1", "Value2", "Value3")]
-public Task UseParametersSubSet(string arg1, string arg2, string arg3)
-{
- var somethingToVerify = $"{arg1} {arg2} {arg3} some text";
- return Verify(somethingToVerify)
- .UseParameters(arg1, arg2);
-}
-```
-snippet source | anchor
-
-
-If the number of parameters passed to `UseParameters()` is greater than the number of parameters in the test method, an exception will be thrown.
-
-
-## NUnit
-
-
-### TestCase
-
-
-
-```cs
-[TestCase("Value1")]
-[TestCase("Value2")]
-public Task TestCaseUsage(string arg) =>
- Verify(arg);
-```
-snippet source | anchor
-
-
-
-### TestFixtureSourceUsage
-
-When using a [TestFixtureSource](https://docs.nunit.org/articles/nunit/writing-tests/attributes/testfixturesource.html) the the name provided by NUnit will be as the `TestMethodName`.
-
-
-
-```cs
-[TestFixtureSource(nameof(FixtureArgs))]
-public class TestFixtureSourceUsage(string arg1, int arg2)
-{
- [Test]
- public Task Test() =>
- Verify(
- new
- {
- arg1,
- arg2
- });
-
- static object[] FixtureArgs =
- [
- new object[]
- {
- "Value1",
- 1
- },
- new object[]
- {
- "Value2",
- 2
- }
- ];
-}
-```
-snippet source | anchor
-
-
-Produces `TestFixtureSourceUsage(Value1,1).Test.verified.txt` and `TestFixtureSourceUsage(Value2,2).Test.verified.txt`.
-
-
-## xUnit
-
-
-### InlineData
-
-
-
-```cs
-[Theory]
-[InlineData("Value1")]
-[InlineData("Value2")]
-public Task InlineDataUsage(string arg)
-{
- var settings = new VerifySettings();
- settings.UseParameters(arg);
- return Verify(arg, settings);
-}
-
-[Theory]
-[InlineData("Value1")]
-[InlineData("Value2")]
-public Task InlineDataUsageFluent(string arg) =>
- Verify(arg)
- .UseParameters(arg);
-```
-snippet source | anchor
-
-
-
-### MemberData
-
-
-
-```cs
-[Theory]
-[MemberData(nameof(GetData))]
-public Task MemberDataUsage(string arg)
-{
- var settings = new VerifySettings();
- settings.UseParameters(arg);
- return Verify(arg, settings);
-}
-
-[Theory]
-[MemberData(nameof(GetData))]
-public Task MemberDataUsageFluent(string arg) =>
- Verify(arg)
- .UseParameters(arg);
-
-public static IEnumerable GetData()
-{
- yield return
- [
- "Value1"
- ];
- yield return
- [
- "Value2"
- ];
-}
-```
-snippet source | anchor
-
-
-
-### Complex MemberData
-
-xUnit only exposes parameter information for certain types. For unknown types the information cannot be retrieved from the xUnit context, and instead the text for the parameter value needs to be explicitly specified. This is done by calling `NameForParameter()`.
-
-
-
-```cs
-public class ComplexParametersSample
-{
- [ModuleInitializer]
- public static void Initialize()
- {
- VerifierSettings.NameForParameter(_ => _.Value);
- VerifierSettings.NameForParameter(_ => _.Value);
- }
-
- [Theory]
- [MemberData(nameof(GetComplexMemberData))]
- public Task ComplexMemberData(ComplexData arg)
- {
- var settings = new VerifySettings();
- settings.UseParameters(arg);
- return Verify(arg, settings);
- }
-
- [Theory]
- [MemberData(nameof(GetComplexMemberData))]
- public Task ComplexMemberDataFluent(ComplexData arg) =>
- Verify(arg)
- .UseParameters(arg);
-
- [Theory]
- [MemberData(nameof(GetComplexMemberData))]
- public Task ComplexMemberNullableData(ComplexData arg)
- {
- var settings = new VerifySettings();
- settings.UseParameters(arg);
- return Verify(arg, settings);
- }
-
- [Theory]
- [MemberData(nameof(GetComplexMemberData))]
- public Task ComplexMemberNullableDataFluent(ComplexData arg) =>
- Verify(arg)
- .UseParameters(arg);
-
- public static IEnumerable GetComplexMemberData()
- {
- yield return
- [
- new ComplexData("Value1")
- ];
- yield return
- [
- new ComplexData("Value2")
- ];
- }
-
- public record ComplexData(string Value);
-
- [Theory]
- [MemberData(nameof(GetComplexMemberStructData))]
- public Task ComplexMemberStructData(ComplexStructData arg)
- {
- var settings = new VerifySettings();
- settings.UseParameters(arg);
- return Verify(arg, settings);
- }
-
- [Theory]
- [MemberData(nameof(GetComplexMemberStructData))]
- public Task ComplexMemberStructDataFluent(ComplexStructData arg) =>
- Verify(arg)
- .UseParameters(arg);
-
- [Theory]
- [MemberData(nameof(GetComplexMemberStructData))]
- public Task ComplexMemberNullableStructData(ComplexStructData arg)
- {
- var settings = new VerifySettings();
- settings.UseParameters(arg);
- return Verify(arg, settings);
- }
-
- [Theory]
- [MemberData(nameof(GetComplexMemberStructData))]
- public Task ComplexMemberNullableStructDataFluent(ComplexStructData arg) =>
- Verify(arg)
- .UseParameters(arg);
-
- public static IEnumerable GetComplexMemberStructData()
- {
- yield return [new ComplexStructData("Value1")];
- yield return [new ComplexStructData("Value2")];
- }
-
- public record ComplexStructData(string Value);
-}
-```
-snippet source | anchor
-
-
-`VerifierSettings.NameForParameter()` is required since the parameter type has no `ToString()` override that can be used for deriving the name of the `.verified.` file.
-
-
-## Fixie
-
-Fixie has no build in test parameterisation. Test parameterisation need to be implemented by the consuming library. See [Attribute-Based Parameterization](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#recipe-attribute-based-parameterization) for an example.
-
-Verify.Fixie requires some customisation of the above example.
-
- * Inside `ITestProject.Configure` call `VerifierSettings.AssignTargetAssembly(environment.Assembly);`
- * Inside `IExecution.Run` wrap `test.Run` in `using (ExecutionState.Set(testClass, test, parameters))`
-
-Example implementation:
-
-
-
-```cs
-public class TestProject :
- ITestProject,
- IExecution
-{
- public void Configure(TestConfiguration configuration, TestEnvironment environment)
- {
- VerifierSettings.AssignTargetAssembly(environment.Assembly);
- configuration.Conventions.Add();
- }
-
- public async Task Run(TestSuite testSuite)
- {
- foreach (var testClass in testSuite.TestClasses)
- {
- foreach (var test in testClass.Tests)
- {
- if (test.HasParameters)
- {
- foreach (var parameters in test
- .GetAll()
- .Select(_ => _.Parameters))
- {
- using (ExecutionState.Set(testClass, test, parameters))
- {
- await test.Run(parameters);
- }
- }
- }
- else
- {
- using (ExecutionState.Set(testClass, test, null))
- {
- await test.Run();
- }
- }
- }
- }
- }
-}
-```
-snippet source | anchor
-
-
-Resulting usage:
-
-
-
-```cs
-[TestCase("Value1")]
-[TestCase("Value2")]
-public Task TestCaseUsage(string arg) =>
- Verify(arg);
-```
-snippet source | anchor
-
-
-
-## MSTest
-
-
-### DataRow
-
-
-
-```cs
-[DataTestMethod]
-[DataRow("Value1")]
-[DataRow("Value2")]
-public Task DataRowUsage(string arg)
-{
- var settings = new VerifySettings();
- settings.UseParameters(arg);
- return Verify(arg, settings);
-}
-
-[DataTestMethod]
-[DataRow("Value1")]
-[DataRow("Value2")]
-public Task DataRowUsageFluent(string arg) =>
- Verify(arg)
- .UseParameters(arg);
-```
-snippet source | anchor
-
-
-
-## Overriding text used for parameters
-
-`UseTextForParameters()` can be used to override the substitution text used for `{Parameters}`.
-
-```
-{Directory}/{TestClassName}.{TestMethodName}_{Parameters}_{UniqueFor1}_{UniqueFor2}_{UniqueForX}.verified.{extension}
-```
-
-
-
-```cs
-[Theory]
-[InlineData("Value1")]
-[InlineData("Value2")]
-public Task UseTextForParameters(string arg)
-{
- var settings = new VerifySettings();
- settings.UseTextForParameters(arg);
- return Verify(arg + "UseTextForParameters", settings);
-}
-
-[Theory]
-[InlineData("Value1")]
-[InlineData("Value2")]
-public Task UseTextForParametersFluent(string arg) =>
- Verify(arg + "UseTextForParametersFluent")
- .UseTextForParameters(arg);
-```
-snippet source | anchor
-
-
-Results in:
-
- * TheTest.UseTextForParameters_Value1.verified.txt
- * TheTest.UseTextForParameters_Value2.verified.txt
- * TheTest.UseTextForParametersFluent_Value1.verified.txt
- * TheTest.UseTextForParametersFluent_Value2.verified.txt
-
-
-## Ignore parameters for verified filename
-
-By default, Verify expects every parameterised case to have a unique [file name](/docs/naming.md) with the parameters appended to the file name. This behavior can be overridden by using `IgnoreParametersForVerified()`. In this case, the verified file name does not contain the parameter values, meaning it is the same for each testcase.
-
-`IgnoreParametersForVerified` accepts an array for passing through the parameters. These values are pssed to [UseParameters](#UseParameters). This is required for MSTest, xUnit, and NUnit. Parameters should not be passed for NUnit and Fixie since they are automatically detected.
-
-The below samples produce:
-
-For the instance case:
-
- * NamerTests.IgnoreParametersForVerified_arg=One.received.txt
- * NamerTests.IgnoreParametersForVerified_arg=Two.received.txt
- * NamerTests.IgnoreParametersForVerified.verified.txt
-
-For the fluent case:
-
- * NamerTests.IgnoreParametersForVerifiedFluent_arg=One.received.txt
- * NamerTests.IgnoreParametersForVerifiedFluent_arg=Two.received.txt
- * NamerTests.IgnoreParametersForVerifiedFluent.verified.txt
-
-
-### xUnit
-
-
-#### Instance
-
-
-
-```cs
-[Theory]
-[InlineData("One")]
-[InlineData("Two")]
-public Task IgnoreParametersForVerified(string arg)
-{
- var settings = new VerifySettings();
- settings.IgnoreParametersForVerified(arg);
- return Verify("value", settings);
-}
-```
-snippet source | anchor
-
-
-
-#### Fluent
-
-
-
-```cs
-[Theory]
-[InlineData("One")]
-[InlineData("Two")]
-public Task IgnoreParametersForVerifiedFluent(string arg) =>
- Verify("value")
- .IgnoreParametersForVerified(arg);
-```
-snippet source | anchor
-
-
-
-### NUnit
-
-
-#### Instance
-
-
-
-```cs
-[TestCase("One")]
-[TestCase("Two")]
-public Task IgnoreParametersForVerified(string arg)
-{
- var settings = new VerifySettings();
- settings.IgnoreParametersForVerified();
- return Verify("value", settings);
-}
-```
-snippet source | anchor
-
-
-
-#### Fluent
-
-
-
-```cs
-[TestCase("One")]
-[TestCase("Two")]
-public Task IgnoreParametersForVerifiedFluent(string arg) =>
- Verify("value")
- .IgnoreParametersForVerified();
-```
-snippet source | anchor
-
-
-
-### MSTest
-
-
-#### Instance
-
-
-
-```cs
-[DataTestMethod]
-[DataRow("One")]
-[DataRow("Two")]
-public Task IgnoreParametersForVerified(string arg)
-{
- var settings = new VerifySettings();
- settings.IgnoreParametersForVerified(arg);
- return Verify("value", settings);
-}
-```
-snippet source | anchor
-
-
-
-#### Fluent
-
-
-
-```cs
-[DataTestMethod]
-[DataRow("One")]
-[DataRow("Two")]
-public Task IgnoreParametersForVerifiedFluent(string arg) =>
- Verify("value")
- .IgnoreParametersForVerified(arg);
-```
-snippet source | anchor
-
-
-
-## IgnoreParametersForVerified with override parameters
-
-The parameters passed to IgnoreParametersForVerified can be used pass custom parameters to [UseParameters](#UseParameters).
-
-
-### xUnit
-
-
-#### Instance
-
-
-
-```cs
-[Theory]
-[InlineData("One")]
-[InlineData("Two")]
-public Task IgnoreParametersForVerifiedCustomParams(string arg)
-{
- var settings = new VerifySettings();
- settings.IgnoreParametersForVerified($"Number{arg}");
- return Verify("value", settings);
-}
-```
-snippet source | anchor
-
-
-
-#### Fluent
-
-
-
-```cs
-[Theory]
-[InlineData("One")]
-[InlineData("Two")]
-public Task IgnoreParametersForVerifiedCustomParamsFluent(string arg) =>
- Verify("value")
- .IgnoreParametersForVerified($"Number{arg}");
-```
-snippet source | anchor
-
-
-
-### NUnit
-
-
-#### Instance
-
-
-
-```cs
-[TestCase("One")]
-[TestCase("Two")]
-public Task IgnoreParametersForVerifiedCustomParams(string arg)
-{
- var settings = new VerifySettings();
- settings.IgnoreParametersForVerified($"Number{arg}");
- return Verify("value", settings);
-}
-```
-snippet source | anchor
-
-
-
-#### Fluent
-
-
-
-```cs
-[TestCase("One")]
-[TestCase("Two")]
-public Task IgnoreParametersForVerifiedCustomParamsFluent(string arg) =>
- Verify("value")
- .IgnoreParametersForVerified($"Number{arg}");
-```
-snippet source | anchor
-
-
-
-### MSTest
-
-
-#### Instance
-
-
-
-```cs
-[DataTestMethod]
-[DataRow("One")]
-[DataRow("Two")]
-public Task IgnoreParametersForVerifiedCustomParams(string arg)
-{
- var settings = new VerifySettings();
- settings.IgnoreParametersForVerified($"Number{arg}");
- return Verify("value", settings);
-}
-```
-snippet source | anchor
-
-
-
-#### Fluent
-
-
-
-```cs
-[DataTestMethod]
-[DataRow("One")]
-[DataRow("Two")]
-public Task IgnoreParametersForVerifiedFluentCustomParams(string arg) =>
- Verify("value")
- .IgnoreParametersForVerified($"Number{arg}");
-```
-snippet source | anchor
-
-
-
-## Hashing parameters
-
-Parameters can be hashed as an alternative to being stringified. This is useful when the parameters are large and could potentially generate file names that exceed allowances of the OS.
-
-Hashing parameter is achieved by using `UseParameters` in combination with `HashParameters`. Alternatively `UseHashedParameters` can be used as a wrapper for those two method calls.
-
-[Overriding text used for parameters](#overriding-text-used-for-parameters) is respected when generating the hash.
-
-[XxHash64](https://learn.microsoft.com/en-us/dotnet/api/system.io.hashing.xxhash64) is used to perform the hash.
-
-
-### MSTest
-
-
-
-```cs
-[TestClass]
-public partial class ParametersHashSample
-{
- [DataTestMethod]
- [DataRow("Value1")]
- [DataRow("Value2")]
- public Task UseHashedParametersUsage(string arg)
- {
- var settings = new VerifySettings();
- settings.UseHashedParameters(arg);
- return Verify(arg, settings);
- }
-
- [DataTestMethod]
- [DataRow("Value1")]
- [DataRow("Value2")]
- public Task UseHashedParametersUsageFluent(string arg) =>
- Verify(arg)
- .UseHashedParameters(arg);
-
- [DataTestMethod]
- [DataRow("Value1")]
- [DataRow("Value2")]
- public Task HashParametersUsage(string arg)
- {
- var settings = new VerifySettings();
- settings.UseParameters(arg);
- settings.HashParameters();
- return Verify(arg, settings);
- }
-
- [DataTestMethod]
- [DataRow("Value1")]
- [DataRow("Value2")]
- public Task HashParametersUsageFluent(string arg) =>
- Verify(arg)
- .UseParameters(arg)
- .HashParameters();
-}
-```
-snippet source | anchor
-
-
-
-### NUnit
-
-
-
-```cs
-[TestFixture]
-public class ParametersHashSample
-{
- [TestCase("Value1")]
- [TestCase("Value2")]
- public Task UseHashedParametersUsage(string arg)
- {
- var settings = new VerifySettings();
- settings.UseHashedParameters(arg);
- return Verify(arg, settings);
- }
-
- [TestCase("Value1")]
- [TestCase("Value2")]
- public Task UseHashedParametersUsageFluent(string arg) =>
- Verify(arg)
- .UseHashedParameters(arg);
-
- [TestCase("Value1")]
- [TestCase("Value2")]
- public Task HashParametersUsage(string arg)
- {
- var settings = new VerifySettings();
- settings.UseParameters(arg);
- settings.HashParameters();
- return Verify(arg, settings);
- }
-
- [TestCase("Value1")]
- [TestCase("Value2")]
- public Task HashParametersUsageFluent(string arg) =>
- Verify(arg)
- .HashParameters();
-
- [TestCase("Value1")]
- [TestCase("Value2")]
- public Task HashParametersOmitPassingParameters(string arg)
- {
- var settings = new VerifySettings();
- settings.HashParameters();
- return Verify(arg, settings);
- }
-
- [TestCase("Value1")]
- [TestCase("Value2")]
- public Task HashParametersOmitPassingParametersFluent(string arg) =>
- Verify(arg)
- .HashParameters();
-}
-```
-snippet source | anchor
-
-
-Note that NUnit can derive the parameters without explicitly passing them.
-
-
-### xUnit
-
-
-
-```cs
-public class ParametersHashSample
-{
- [Theory]
- [InlineData("Value1")]
- [InlineData("Value2")]
- public Task UseHashedParametersUsage(string arg)
- {
- var settings = new VerifySettings();
- settings.UseHashedParameters(arg);
- return Verify(arg, settings);
- }
-
- [Theory]
- [InlineData("Value1")]
- [InlineData("Value2")]
- public Task UseHashedParametersUsageFluent(string arg) =>
- Verify(arg)
- .UseHashedParameters(arg);
-
- [Theory]
- [InlineData("Value1")]
- [InlineData("Value2")]
- public Task HashParametersUsage(string arg)
- {
- var settings = new VerifySettings();
- settings.UseParameters(arg);
- settings.HashParameters();
- return Verify(arg, settings);
- }
+Characters that cannot be used for a file name are replaced with a dash (`-`).
- [Theory]
- [InlineData("Value1")]
- [InlineData("Value2")]
- public Task HashParametersUsageFluent(string arg) =>
- Verify(arg)
- .UseParameters(arg)
- .HashParameters();
-}
-```
-snippet source | anchor
-
+## Test frameworks:
-### Globally
+Parameterised test usage differs based on the test framework used.
-
-
-```cs
-public static class ModuleInitializer
-{
- [ModuleInitializer]
- public static void Init() =>
- VerifierSettings.HashParameters();
-}
-```
-snippet source | anchor
-
+ * [NUnit](parameterised-nunit.md)
+ * [Xunit V2](parameterised-xunitv2.md)
+ * [Xunit V3](parameterised-xunitv3.md)
+ * [MSTest](parameterised-mstest.md)
+ * [TUnit](parameterised-tunit.md)
+ * [MSTest](parameterised-mstest.md)
+ * [Fixie](parameterised-fixie.md)
+ * [Expecto](parameterised-expecto.md)
diff --git a/docs/recording.md b/docs/recording.md
index d96bd7782e..137857f7ac 100644
--- a/docs/recording.md
+++ b/docs/recording.md
@@ -85,7 +85,7 @@ public Task RecordingScoped()
return Verify();
}
```
-snippet source | anchor
+snippet source | anchor
Results in:
@@ -117,7 +117,7 @@ public Task SameKey()
return Verify("TheValue");
}
```
-snippet source | anchor
+snippet source | anchor
Results in:
@@ -143,6 +143,8 @@ To avoid grouping use [Stop](#stop).
Recording can be grouped by an identifier.
+The identifier should be statically unique. For example a fully qualified test name or a GUID.
+
```cs
@@ -154,7 +156,7 @@ public Task Identifier()
return Verify(Recording.Stop("identifier"));
}
```
-snippet source | anchor
+snippet source | anchor
Results in:
@@ -186,7 +188,7 @@ public Task Case()
return Verify("TheValue");
}
```
-snippet source | anchor
+snippet source | anchor
Results in:
@@ -221,7 +223,7 @@ public Task Stop()
return Verify(appends.Where(_ => _.Name != "name1"));
}
```
-snippet source | anchor
+snippet source | anchor
Results in:
@@ -253,7 +255,7 @@ public Task StopNotInResult()
return Verify("other data");
}
```
-snippet source | anchor
+snippet source | anchor
Results in:
@@ -282,7 +284,7 @@ public void IsRecording()
Assert.True(Recording.IsRecording());
}
```
-snippet source | anchor
+snippet source | anchor
This can be helpful if the cost of capturing data, to add to recording, is high.
@@ -305,7 +307,7 @@ public Task Clear()
return Verify();
}
```
-snippet source | anchor
+snippet source | anchor
Results in:
@@ -341,7 +343,7 @@ public Task PauseResume()
return Verify();
}
```
-snippet source | anchor
+snippet source | anchor
Results in:
diff --git a/docs/scrubbers.md b/docs/scrubbers.md
index e09e36c959..e2917ee2b4 100644
--- a/docs/scrubbers.md
+++ b/docs/scrubbers.md
@@ -59,7 +59,7 @@ For example remove lines containing `text`:
```cs
verifySettings.ScrubLines(line => line.Contains("text"));
```
-snippet source | anchor
+snippet source | anchor
@@ -74,7 +74,7 @@ For example remove lines containing `text1` or `text2`
```cs
verifySettings.ScrubLinesContaining("text1", "text2");
```
-snippet source | anchor
+snippet source | anchor
Case insensitive by default (StringComparison.OrdinalIgnoreCase).
@@ -86,7 +86,7 @@ Case insensitive by default (StringComparison.OrdinalIgnoreCase).
```cs
verifySettings.ScrubLinesContaining(StringComparison.Ordinal, "text1", "text2");
```
-snippet source | anchor
+snippet source | anchor
@@ -101,7 +101,7 @@ For example converts lines to upper case:
```cs
verifySettings.ScrubLinesWithReplace(line => line.ToUpper());
```
-snippet source | anchor
+snippet source | anchor
@@ -114,7 +114,7 @@ Replaces `Environment.MachineName` with `TheMachineName`.
```cs
verifySettings.ScrubMachineName();
```
-snippet source | anchor
+snippet source | anchor
@@ -127,7 +127,7 @@ Replaces `Environment.UserName` with `TheUserName`.
```cs
verifySettings.ScrubUserName();
```
-snippet source | anchor
+snippet source | anchor
@@ -394,7 +394,7 @@ public class ScrubbersSample
.ScrubEmptyLines();
}
```
-snippet source | anchor
+snippet source | anchor
@@ -639,6 +639,129 @@ public partial class ScrubbersSample
+### TUnit
+
+
+
+```cs
+public class ScrubbersSample
+{
+ [Test]
+ public Task Lines()
+ {
+ var settings = new VerifySettings();
+ settings.ScrubLinesWithReplace(
+ replaceLine: _ =>
+ {
+ if (_.Contains("LineE"))
+ {
+ return "NoMoreLineE";
+ }
+
+ return _;
+ });
+ settings.ScrubLines(removeLine: _ => _.Contains('J'));
+ settings.ScrubLinesContaining("b", "D");
+ settings.ScrubLinesContaining(StringComparison.Ordinal, "H");
+ return Verify(
+ settings: settings,
+ target: """
+ LineA
+ LineB
+ LineC
+ LineD
+ LineE
+ LineH
+ LineI
+ LineJ
+ """);
+ }
+
+ [Test]
+ public Task LinesFluent() =>
+ Verify("""
+ LineA
+ LineB
+ LineC
+ LineD
+ LineE
+ LineH
+ LineI
+ LineJ
+ """)
+ .ScrubLinesWithReplace(
+ replaceLine: _ =>
+ {
+ if (_.Contains("LineE"))
+ {
+ return "NoMoreLineE";
+ }
+
+ return _;
+ })
+ .ScrubLines(removeLine: _ => _.Contains('J'))
+ .ScrubLinesContaining("b", "D")
+ .ScrubLinesContaining(StringComparison.Ordinal, "H");
+
+ [Test]
+ public Task AfterSerialization()
+ {
+ var target = new ToBeScrubbed
+ {
+ RowVersion = "7D3"
+ };
+
+ var settings = new VerifySettings();
+ settings.AddScrubber(_ => _.Replace("7D3", "TheRowVersion"));
+ return Verify(target, settings);
+ }
+
+ [Test]
+ public Task AfterSerializationFluent()
+ {
+ var target = new ToBeScrubbed
+ {
+ RowVersion = "7D3"
+ };
+
+ return Verify(target)
+ .AddScrubber(_ => _.Replace("7D3", "TheRowVersion"));
+ }
+
+ [Test]
+ public Task RemoveOrReplace() =>
+ Verify("""
+ LineA
+ LineB
+ LineC
+ """)
+ .ScrubLinesWithReplace(
+ replaceLine: line =>
+ {
+ if (line.Contains("LineB"))
+ {
+ return null;
+ }
+
+ return line.ToLower();
+ });
+
+ [Test]
+ public Task EmptyLines() =>
+ Verify("""
+
+ LineA
+
+ LineC
+
+ """)
+ .ScrubEmptyLines();
+}
+```
+snippet source | anchor
+
+
+
### Results
@@ -743,7 +866,7 @@ public class ScrubberLevelsSample
VerifierSettings.AddScrubber(_ => _.Replace("One", "A"));
}
```
-snippet source | anchor
+snippet source | anchor
@@ -820,6 +943,43 @@ public partial class ScrubberLevelsSample
+### TUnit
+
+
+
+```cs
+public class ScrubberLevelsSample
+{
+ VerifySettings classLevelSettings;
+
+ public ScrubberLevelsSample()
+ {
+ classLevelSettings = new();
+ classLevelSettings.AddScrubber(_ => _.Replace("Three", "C"));
+ }
+
+ [Test]
+ public Task Simple()
+ {
+ var settings = new VerifySettings(classLevelSettings);
+ settings.AddScrubber(_ => _.Replace("Two", "B"));
+ return Verify("One Two Three", settings);
+ }
+
+ [Test]
+ public Task SimpleFluent() =>
+ Verify("One Two Three", classLevelSettings)
+ .AddScrubber(_ => _.Replace("Two", "B"));
+
+ [ModuleInitializer]
+ public static void Setup() =>
+ VerifierSettings.AddScrubber(_ => _.Replace("One", "A"));
+}
+```
+snippet source | anchor
+
+
+
### Result
diff --git a/docs/serializer-settings.md b/docs/serializer-settings.md
index 118ed013cc..5e8fc9ef32 100644
--- a/docs/serializer-settings.md
+++ b/docs/serializer-settings.md
@@ -205,7 +205,7 @@ public Task AddExtraSettings()
var settings = new VerifySettings();
settings
.AddExtraSettings(
- _ => _.Error = (currentObject, originalObject, location, exception, handled) =>
+ _ => _.SerializeError = (currentObject, originalObject, location, exception, handled) =>
Console.WriteLine(location.Member));
return Verify("Value", settings);
}
@@ -223,7 +223,7 @@ public Task AddExtraSettings()
public Task AddExtraSettingsFluent() =>
Verify("Value")
.AddExtraSettings(
- _ => _.Error = (currentObject, originalObject, location, exception, handled) =>
+ _ => _.SerializeError = (currentObject, originalObject, location, exception, handled) =>
Console.WriteLine(location.Member));
```
snippet source | anchor
@@ -246,7 +246,7 @@ To disable this behavior globally use:
```cs
VerifierSettings.DontIgnoreEmptyCollections();
```
-snippet source | anchor
+snippet source | anchor
@@ -347,7 +347,7 @@ public Task ScopedSerializerFluent()
.AddExtraSettings(_ => _.TypeNameHandling = TypeNameHandling.All);
}
```
-snippet source | anchor
+snippet source | anchor
Result:
@@ -475,7 +475,7 @@ public Task IgnoreTypeFluent()
.IgnoreMembersWithType();
}
```
-snippet source | anchor
+snippet source | anchor
Or globally:
@@ -485,7 +485,7 @@ Or globally:
```cs
VerifierSettings.IgnoreMembersWithType();
```
-snippet source | anchor
+snippet source | anchor
Result:
@@ -622,7 +622,7 @@ public Task ScrubTypeFluent()
.ScrubMembersWithType();
}
```
-snippet source | anchor
+snippet source | anchor
Or globally:
@@ -632,7 +632,7 @@ Or globally:
```cs
VerifierSettings.ScrubMembersWithType();
```
-snippet source | anchor
+snippet source | anchor
Result:
@@ -711,7 +711,7 @@ public Task AddIgnoreInstanceFluent()
.IgnoreInstance(_ => _.Property == "Ignore");
}
```
-snippet source | anchor
+snippet source | anchor
Or globally:
@@ -721,7 +721,7 @@ Or globally:
```cs
VerifierSettings.IgnoreInstance(_ => _.Property == "Ignore");
```
-snippet source | anchor
+snippet source | anchor
Result:
@@ -783,7 +783,7 @@ public Task AddScrubInstanceFluent()
.ScrubInstance(_ => _.Property == "Ignore");
}
```
-snippet source | anchor
+snippet source | anchor
Or globally:
@@ -793,7 +793,7 @@ Or globally:
```cs
VerifierSettings.ScrubInstance(_ => _.Property == "Ignore");
```
-snippet source | anchor
+snippet source | anchor
Result:
@@ -838,7 +838,7 @@ public Task WithObsoleteProp()
return Verify(target);
}
```
-snippet source | anchor
+snippet source | anchor
Result:
@@ -886,7 +886,7 @@ public Task WithObsoletePropIncludedFluent()
.IncludeObsoletes();
}
```
-snippet source | anchor
+snippet source | anchor
Or globally:
@@ -896,7 +896,7 @@ Or globally:
```cs
VerifierSettings.IncludeObsoletes();
```
-snippet source | anchor
+snippet source | anchor
Result:
@@ -957,7 +957,7 @@ public Task IgnoreMemberByExpressionFluent()
_ => _.PropertyThatThrows);
}
```
-snippet source | anchor
+snippet source | anchor
Or globally
@@ -972,7 +972,7 @@ VerifierSettings.IgnoreMembers(
_ => _.GetOnlyProperty,
_ => _.PropertyThatThrows);
```
-snippet source | anchor
+snippet source | anchor
Result:
@@ -1032,7 +1032,7 @@ public Task ScrubMemberByExpressionFluent()
_ => _.PropertyThatThrows);
}
```
-snippet source | anchor
+snippet source | anchor
Or globally
@@ -1047,7 +1047,7 @@ VerifierSettings.ScrubMembers(
_ => _.GetOnlyProperty,
_ => _.PropertyThatThrows);
```
-snippet source | anchor
+snippet source | anchor
Result:
@@ -1126,7 +1126,7 @@ public Task IgnoreMemberByNameFluent()
.IgnoreMember(_ => _.PropertyThatThrows);
}
```
-snippet source | anchor
+snippet source | anchor
Or globally:
@@ -1146,7 +1146,7 @@ VerifierSettings.IgnoreMember("Field");
// For a specific type with expression
VerifierSettings.IgnoreMember(_ => _.PropertyThatThrows);
```
-snippet source | anchor
+snippet source | anchor
Result:
@@ -1221,7 +1221,7 @@ public Task ScrubMemberByNameFluent()
.ScrubMember(_ => _.PropertyThatThrows);
}
```
-snippet source | anchor
+snippet source | anchor
Or globally:
@@ -1241,7 +1241,7 @@ VerifierSettings.ScrubMember("Field");
// For a specific type with expression
VerifierSettings.ScrubMember(_ => _.PropertyThatThrows);
```
-snippet source | anchor
+snippet source | anchor
Result:
@@ -1292,7 +1292,7 @@ public Task CustomExceptionPropFluent()
.IgnoreMembersThatThrow();
}
```
-snippet source | anchor
+snippet source | anchor
Or globally:
@@ -1302,7 +1302,7 @@ Or globally:
```cs
VerifierSettings.IgnoreMembersThatThrow();
```
-snippet source | anchor
+snippet source | anchor
Result:
@@ -1339,7 +1339,7 @@ public Task ExceptionMessagePropFluent()
.IgnoreMembersThatThrow(_ => _.Message == "Ignore");
}
```
-snippet source | anchor
+snippet source | anchor
Or globally:
@@ -1349,7 +1349,7 @@ Or globally:
```cs
VerifierSettings.IgnoreMembersThatThrow(_ => _.Message == "Ignore");
```
-snippet source | anchor
+snippet source | anchor
Result:
@@ -1507,7 +1507,7 @@ public Task MemberConverterByExpression()
return Verify(input);
}
```
-snippet source | anchor
+snippet source | anchor
diff --git a/docs/verify-directory.md b/docs/verify-directory.md
index 06856f5281..360bac6515 100644
--- a/docs/verify-directory.md
+++ b/docs/verify-directory.md
@@ -9,21 +9,21 @@ To change this file edit the source file and then run MarkdownSnippets.
Verifies all files in a directory. This approach combines [UseUniqueDirectory](/docs/naming.md#useuniquedirectory) with a target per file, to snapshot test all files in a directory.
-
-
+
+
```cs
[Fact]
public Task WithDirectory() =>
VerifyDirectory(directoryToVerify);
```
-snippet source | anchor
+snippet source | anchor
## Filtering
-
-
+
+
```cs
[Fact]
public Task WithDirectoryFiltered() =>
@@ -36,7 +36,7 @@ public Task WithDirectoryFiltered() =>
RecurseSubdirectories = false
});
```
-snippet source | anchor
+snippet source | anchor
@@ -44,16 +44,14 @@ public Task WithDirectoryFiltered() =>
An optional `info` parameter can be supplied to add more context to the test. The instance passed will be json serialized.
-
-
+
+
```cs
[Fact]
-public Task VerifyDirectoryWithInfo() =>
- VerifyDirectory(
- directoryToVerify,
- info: "the info");
+public Task WithZipAndStructure() =>
+ VerifyZip(zipPath, includeStructure: true);
```
-snippet source | anchor
+snippet source | anchor
@@ -61,8 +59,8 @@ public Task VerifyDirectoryWithInfo() =>
`VerifyDirectory` has an optional parameter `fileScrubber` that allows file specific scrubbing:
-
-
+
+
```cs
[Fact]
public Task VerifyDirectoryWithFileScrubber() =>
@@ -77,7 +75,7 @@ public Task VerifyDirectoryWithFileScrubber() =>
}
});
```
-snippet source | anchor
+snippet source | anchor
-This applies to files where the extensins is a known text file as defined by [FileExtensions.IsText](https://github.com/VerifyTests/EmptyFiles#istext).
+This applies to files where the extensions is a known text file as defined by [FileExtensions.IsText](https://github.com/VerifyTests/EmptyFiles#istext).
diff --git a/docs/verify-file.md b/docs/verify-file.md
index e7f0782f4d..2678663c18 100644
--- a/docs/verify-file.md
+++ b/docs/verify-file.md
@@ -37,6 +37,19 @@ public Task VerifyFileWithInfo() =>
+## Using a custom extension
+
+
+
+```cs
+[Fact]
+public Task VerifyFilePathWithExtension() =>
+ VerifyFile("sample.txt", extension: "csv");
+```
+snippet source | anchor
+
+
+
## Verify a file without using a unit test
Use the functionality of VerifyTests outside of a unit test.
@@ -44,35 +57,17 @@ Use the functionality of VerifyTests outside of a unit test.
```cs
-public Task VerifyExternalFile()
+public async Task VerifyExternalFile()
{
- var solutionDirectory = AttributeReader.GetSolutionDirectory();
- var settings = new VerifySettings();
- settings.DisableRequireUniquePrefix();
-
- var sourceFile = Path.Combine(solutionDirectory, "Verify.Tests", "sample.txt");
-
- return new SettingsTask(
- settings,
- async settings =>
- {
- using var verifier = new InnerVerifier(sourceFile, settings);
- return await verifier.VerifyFile(sourceFile, null, null);
- });
+ using var verifier = new InnerVerifier(targetDirectory, name: "sample");
+ await verifier.VerifyFile(filePath);
}
```
-snippet source | anchor
+snippet source | anchor
+Result:
-### Using a custom extension
-
-
-
-```cs
-[Fact]
-public Task VerifyFilePathWithExtension() =>
- VerifyFile("sample.txt", extension: "csv");
```
-snippet source | anchor
-
+{targetDirectory}/sample.verified.txt
+```
diff --git a/docs/verify-options.md b/docs/verify-options.md
index 1f6cbe6cd4..13ddba64d1 100644
--- a/docs/verify-options.md
+++ b/docs/verify-options.md
@@ -90,17 +90,19 @@ public static class ModuleInitializer
Or with a delegate:
-
-
+
+
```cs
public static class ModuleInitializer
{
[ModuleInitializer]
public static void Init() =>
- VerifierSettings.AutoVerify();
+ VerifierSettings.AutoVerify(
+ (typeName, methodName, verifiedFile) =>
+ Path.GetExtension(verifiedFile) == "png");
}
```
-snippet source | anchor
+snippet source | anchor
@@ -183,7 +185,7 @@ public Task OnCallbacks()
return Verify("value");
}
```
-snippet source | anchor
+snippet source | anchor
diff --git a/docs/verify-zip.md b/docs/verify-zip.md
index 7dd0a8eea1..4b8b82495b 100644
--- a/docs/verify-zip.md
+++ b/docs/verify-zip.md
@@ -9,21 +9,21 @@ To change this file edit the source file and then run MarkdownSnippets.
Verifies all files in a zip archive. This approach combines [UseUniqueDirectory](/docs/naming.md#useuniquedirectory) with a target per file, to snapshot test all files in a zip archive.
-
-
+
+
```cs
[Fact]
public Task WithZip() =>
VerifyZip(zipPath);
```
-snippet source | anchor
+snippet source | anchor
## Filtering
-
-
+
+
```cs
[Fact]
public Task WithZipFiltered() =>
@@ -31,7 +31,7 @@ public Task WithZipFiltered() =>
zipPath,
include: filePath => filePath.FullName.Contains("Doc"));
```
-snippet source | anchor
+snippet source | anchor
@@ -39,8 +39,8 @@ public Task WithZipFiltered() =>
An optional `info` parameter can be supplied to add more context to the test. The instance passed will be json serialized.
-
-
+
+
```cs
[Fact]
public Task VerifyZipWithInfo() =>
@@ -48,16 +48,16 @@ public Task VerifyZipWithInfo() =>
zipPath,
info: "the info");
```
-snippet source | anchor
+snippet source | anchor
## FileScrubber
-`VerifyDirectory` has an optional parameter `fileScrubber` that allows file specific scrubbing:
+`VerifyZip` has an optional parameter `fileScrubber` that allows file specific scrubbing:
-
-
+
+
```cs
[Fact]
public Task VerifyZipWithFileScrubber() =>
@@ -72,7 +72,22 @@ public Task VerifyZipWithFileScrubber() =>
}
});
```
-snippet source | anchor
+snippet source | anchor
-This applies to files where the extensins is a known text file as defined by [FileExtensions.IsText](https://github.com/VerifyTests/EmptyFiles#istext).
+This applies to files where the extensions is a known text file as defined by [FileExtensions.IsText](https://github.com/VerifyTests/EmptyFiles#istext).
+
+
+## Including structure
+
+Use `includeStructure: true` to include a file `structure.verified.md` that contains the zip directory structure.
+
+
+
+```cs
+[Fact]
+public Task WithZipAndStructure() =>
+ VerifyZip(zipPath, includeStructure: true);
+```
+snippet source | anchor
+
diff --git a/docs/wiz/Linux_Other_Cli.md b/docs/wiz/Linux_Other_Cli.md
index 67d7119c44..62af3c6438 100644
--- a/docs/wiz/Linux_Other_Cli.md
+++ b/docs/wiz/Linux_Other_Cli.md
@@ -13,7 +13,9 @@ To change this file edit the source file and then run MarkdownSnippets.
Options:
* [Xunit](Linux_Other_Cli_Xunit.md)
+ * [XunitV3](Linux_Other_Cli_XunitV3.md)
* [NUnit](Linux_Other_Cli_NUnit.md)
+ * [TUnit](Linux_Other_Cli_TUnit.md)
* [Fixie](Linux_Other_Cli_Fixie.md)
* [MSTest](Linux_Other_Cli_MSTest.md)
* [Expecto](Linux_Other_Cli_Expecto.md)
diff --git a/docs/wiz/Linux_Other_Cli_Expecto_AppVeyor.md b/docs/wiz/Linux_Other_Cli_Expecto_AppVeyor.md
index f13e8761b1..025341ae0d 100644
--- a/docs/wiz/Linux_Other_Cli_Expecto_AppVeyor.md
+++ b/docs/wiz/Linux_Other_Cli_Expecto_AppVeyor.md
@@ -30,9 +30,10 @@ dotnet add package Verify.Expecto
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -49,6 +50,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -60,7 +62,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Cli_Expecto_AzureDevOps.md b/docs/wiz/Linux_Other_Cli_Expecto_AzureDevOps.md
index b0ffe10c74..4b084fdceb 100644
--- a/docs/wiz/Linux_Other_Cli_Expecto_AzureDevOps.md
+++ b/docs/wiz/Linux_Other_Cli_Expecto_AzureDevOps.md
@@ -30,9 +30,10 @@ dotnet add package Verify.Expecto
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -49,6 +50,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -60,7 +62,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Cli_Expecto_GitHubActions.md b/docs/wiz/Linux_Other_Cli_Expecto_GitHubActions.md
index 741f535fce..6642c4231b 100644
--- a/docs/wiz/Linux_Other_Cli_Expecto_GitHubActions.md
+++ b/docs/wiz/Linux_Other_Cli_Expecto_GitHubActions.md
@@ -30,9 +30,10 @@ dotnet add package Verify.Expecto
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -49,6 +50,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -60,7 +62,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Cli_Expecto_None.md b/docs/wiz/Linux_Other_Cli_Expecto_None.md
index d03d91ac8d..b4b2b5af3c 100644
--- a/docs/wiz/Linux_Other_Cli_Expecto_None.md
+++ b/docs/wiz/Linux_Other_Cli_Expecto_None.md
@@ -30,9 +30,10 @@ dotnet add package Verify.Expecto
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -49,6 +50,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -60,7 +62,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Cli_Fixie_AppVeyor.md b/docs/wiz/Linux_Other_Cli_Fixie_AppVeyor.md
index 239d7124bb..799f4a4ea0 100644
--- a/docs/wiz/Linux_Other_Cli_Fixie_AppVeyor.md
+++ b/docs/wiz/Linux_Other_Cli_Fixie_AppVeyor.md
@@ -29,9 +29,10 @@ dotnet add package Verify.Fixie
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -48,6 +49,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -59,7 +61,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffPlex
@@ -146,6 +165,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Linux_Other_Cli_Fixie_AzureDevOps.md b/docs/wiz/Linux_Other_Cli_Fixie_AzureDevOps.md
index 7a88f5fc6c..8b99c7ebf1 100644
--- a/docs/wiz/Linux_Other_Cli_Fixie_AzureDevOps.md
+++ b/docs/wiz/Linux_Other_Cli_Fixie_AzureDevOps.md
@@ -29,9 +29,10 @@ dotnet add package Verify.Fixie
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -48,6 +49,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -59,7 +61,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffPlex
@@ -146,6 +165,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Linux_Other_Cli_Fixie_GitHubActions.md b/docs/wiz/Linux_Other_Cli_Fixie_GitHubActions.md
index e0206b3e4a..24163c4d12 100644
--- a/docs/wiz/Linux_Other_Cli_Fixie_GitHubActions.md
+++ b/docs/wiz/Linux_Other_Cli_Fixie_GitHubActions.md
@@ -29,9 +29,10 @@ dotnet add package Verify.Fixie
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -48,6 +49,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -59,7 +61,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffPlex
@@ -146,6 +165,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Linux_Other_Cli_Fixie_None.md b/docs/wiz/Linux_Other_Cli_Fixie_None.md
index 0c9ef16f5a..3640d72429 100644
--- a/docs/wiz/Linux_Other_Cli_Fixie_None.md
+++ b/docs/wiz/Linux_Other_Cli_Fixie_None.md
@@ -29,9 +29,10 @@ dotnet add package Verify.Fixie
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -48,6 +49,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -59,7 +61,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffPlex
@@ -146,6 +165,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Linux_Other_Cli_MSTest_AppVeyor.md b/docs/wiz/Linux_Other_Cli_MSTest_AppVeyor.md
index 9a5ba8955f..83492ab661 100644
--- a/docs/wiz/Linux_Other_Cli_MSTest_AppVeyor.md
+++ b/docs/wiz/Linux_Other_Cli_MSTest_AppVeyor.md
@@ -31,9 +31,10 @@ dotnet add package Verify.MSTest
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Cli_MSTest_AzureDevOps.md b/docs/wiz/Linux_Other_Cli_MSTest_AzureDevOps.md
index df9d8a3f0b..96fb1a9fba 100644
--- a/docs/wiz/Linux_Other_Cli_MSTest_AzureDevOps.md
+++ b/docs/wiz/Linux_Other_Cli_MSTest_AzureDevOps.md
@@ -31,9 +31,10 @@ dotnet add package Verify.MSTest
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Cli_MSTest_GitHubActions.md b/docs/wiz/Linux_Other_Cli_MSTest_GitHubActions.md
index 164251f356..50f887cffd 100644
--- a/docs/wiz/Linux_Other_Cli_MSTest_GitHubActions.md
+++ b/docs/wiz/Linux_Other_Cli_MSTest_GitHubActions.md
@@ -31,9 +31,10 @@ dotnet add package Verify.MSTest
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Cli_MSTest_None.md b/docs/wiz/Linux_Other_Cli_MSTest_None.md
index 827c1e23eb..da9b667eab 100644
--- a/docs/wiz/Linux_Other_Cli_MSTest_None.md
+++ b/docs/wiz/Linux_Other_Cli_MSTest_None.md
@@ -31,9 +31,10 @@ dotnet add package Verify.MSTest
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Cli_NUnit_AppVeyor.md b/docs/wiz/Linux_Other_Cli_NUnit_AppVeyor.md
index 3b00811875..0d2af31877 100644
--- a/docs/wiz/Linux_Other_Cli_NUnit_AppVeyor.md
+++ b/docs/wiz/Linux_Other_Cli_NUnit_AppVeyor.md
@@ -31,9 +31,10 @@ dotnet add package Verify.NUnit
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Cli_NUnit_AzureDevOps.md b/docs/wiz/Linux_Other_Cli_NUnit_AzureDevOps.md
index 1795ba3d32..606179cb6e 100644
--- a/docs/wiz/Linux_Other_Cli_NUnit_AzureDevOps.md
+++ b/docs/wiz/Linux_Other_Cli_NUnit_AzureDevOps.md
@@ -31,9 +31,10 @@ dotnet add package Verify.NUnit
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Cli_NUnit_GitHubActions.md b/docs/wiz/Linux_Other_Cli_NUnit_GitHubActions.md
index 7ed355d84e..2aaac32819 100644
--- a/docs/wiz/Linux_Other_Cli_NUnit_GitHubActions.md
+++ b/docs/wiz/Linux_Other_Cli_NUnit_GitHubActions.md
@@ -31,9 +31,10 @@ dotnet add package Verify.NUnit
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Cli_NUnit_None.md b/docs/wiz/Linux_Other_Cli_NUnit_None.md
index fb23f889bb..66702d1047 100644
--- a/docs/wiz/Linux_Other_Cli_NUnit_None.md
+++ b/docs/wiz/Linux_Other_Cli_NUnit_None.md
@@ -31,9 +31,10 @@ dotnet add package Verify.NUnit
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Cli_TUnit.md b/docs/wiz/Linux_Other_Cli_TUnit.md
new file mode 100644
index 0000000000..e86486e09d
--- /dev/null
+++ b/docs/wiz/Linux_Other_Cli_TUnit.md
@@ -0,0 +1,18 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer CLI](Linux_Other_Cli.md) > [TUnit](Linux_Other_Cli_TUnit.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Linux_Other_Cli_TUnit_AppVeyor.md)
+ * [GitHub Actions](Linux_Other_Cli_TUnit_GitHubActions.md)
+ * [Azure DevOps](Linux_Other_Cli_TUnit_AzureDevOps.md)
+ * [No build server](Linux_Other_Cli_TUnit_None.md)
diff --git a/docs/wiz/Linux_Other_Cli_TUnit_AppVeyor.md b/docs/wiz/Linux_Other_Cli_TUnit_AppVeyor.md
new file mode 100644
index 0000000000..e46067a015
--- /dev/null
+++ b/docs/wiz/Linux_Other_Cli_TUnit_AppVeyor.md
@@ -0,0 +1,193 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer CLI](Linux_Other_Cli.md) > [TUnit](Linux_Other_Cli_TUnit.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+Use a [on_failure build step](https://www.appveyor.com/docs/build-configuration/#build-pipeline) to call [Push-AppveyorArtifact](https://www.appveyor.com/docs/build-worker-api/#push-artifact).
+
+```
+on_failure:
+ - ps: Get-ChildItem *.received.* -recurse | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
+```
+
+See also [Pushing artifacts from scripts](https://www.appveyor.com/docs/packaging-artifacts/#pushing-artifacts-from-scripts).
+
diff --git a/docs/wiz/Linux_Other_Cli_TUnit_AzureDevOps.md b/docs/wiz/Linux_Other_Cli_TUnit_AzureDevOps.md
new file mode 100644
index 0000000000..6fc9af060e
--- /dev/null
+++ b/docs/wiz/Linux_Other_Cli_TUnit_AzureDevOps.md
@@ -0,0 +1,221 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer CLI](Linux_Other_Cli.md) > [TUnit](Linux_Other_Cli_TUnit.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+Directly after the test runner step add a build step to set a flag if the testrunner failed. This is done by using a [failed condition](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml). This flag will be evaluated in the CopyFiles and PublishBuildArtifacts steps below.
+
+```yaml
+- task: CmdLine@2
+ displayName: 'Set flag to publish Verify *.received.* files when test step fails'
+ condition: failed()
+ inputs:
+ script: 'echo ##vso[task.setvariable variable=publishverify]Yes'
+```
+
+Since the PublishBuildArtifacts step in DevOps does not allow a wildcard it is necessary to stage the 'received' files before publishing:
+
+```yaml
+- task: CopyFiles@2
+ condition: eq(variables['publishverify'], 'Yes')
+ displayName: 'Copy Verify *.received.* files to Artifact Staging'
+ inputs:
+ contents: '**\*.received.*'
+ targetFolder: '$(Build.ArtifactStagingDirectory)\Verify'
+ cleanTargetFolder: true
+ overWrite: true
+```
+
+Publish the staged files as a build artifact:
+
+```yaml
+- task: PublishBuildArtifacts@1
+ displayName: 'Publish Verify *.received.* files as Artifacts'
+ name: 'verifypublish'
+ condition: eq(variables['publishverify'], 'Yes')
+ inputs:
+ PathtoPublish: '$(Build.ArtifactStagingDirectory)\Verify'
+ ArtifactName: 'Verify'
+ publishLocation: 'Container'
+```
+
+
diff --git a/docs/wiz/Linux_Other_Cli_TUnit_GitHubActions.md b/docs/wiz/Linux_Other_Cli_TUnit_GitHubActions.md
new file mode 100644
index 0000000000..aacd44c060
--- /dev/null
+++ b/docs/wiz/Linux_Other_Cli_TUnit_GitHubActions.md
@@ -0,0 +1,197 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer CLI](Linux_Other_Cli.md) > [TUnit](Linux_Other_Cli_TUnit.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+Use a [if: failure()](https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#failure) condition to upload any `*.received.*` files if the build fails.
+
+```yaml
+- name: Upload Test Results
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: verify-test-results
+ path: |
+ **/*.received.*
+```
+
+
diff --git a/docs/wiz/Linux_Other_Cli_TUnit_None.md b/docs/wiz/Linux_Other_Cli_TUnit_None.md
new file mode 100644
index 0000000000..984976d4ae
--- /dev/null
+++ b/docs/wiz/Linux_Other_Cli_TUnit_None.md
@@ -0,0 +1,182 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer CLI](Linux_Other_Cli.md) > [TUnit](Linux_Other_Cli_TUnit.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/wiz/Linux_Other_Cli_XunitV3.md b/docs/wiz/Linux_Other_Cli_XunitV3.md
new file mode 100644
index 0000000000..78ee306939
--- /dev/null
+++ b/docs/wiz/Linux_Other_Cli_XunitV3.md
@@ -0,0 +1,18 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer CLI](Linux_Other_Cli.md) > [XunitV3](Linux_Other_Cli_XunitV3.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Linux_Other_Cli_XunitV3_AppVeyor.md)
+ * [GitHub Actions](Linux_Other_Cli_XunitV3_GitHubActions.md)
+ * [Azure DevOps](Linux_Other_Cli_XunitV3_AzureDevOps.md)
+ * [No build server](Linux_Other_Cli_XunitV3_None.md)
diff --git a/docs/wiz/Linux_Other_Cli_XunitV3_AppVeyor.md b/docs/wiz/Linux_Other_Cli_XunitV3_AppVeyor.md
new file mode 100644
index 0000000000..587f012e61
--- /dev/null
+++ b/docs/wiz/Linux_Other_Cli_XunitV3_AppVeyor.md
@@ -0,0 +1,194 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer CLI](Linux_Other_Cli.md) > [XunitV3](Linux_Other_Cli_XunitV3.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+Use a [on_failure build step](https://www.appveyor.com/docs/build-configuration/#build-pipeline) to call [Push-AppveyorArtifact](https://www.appveyor.com/docs/build-worker-api/#push-artifact).
+
+```
+on_failure:
+ - ps: Get-ChildItem *.received.* -recurse | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
+```
+
+See also [Pushing artifacts from scripts](https://www.appveyor.com/docs/packaging-artifacts/#pushing-artifacts-from-scripts).
+
diff --git a/docs/wiz/Linux_Other_Cli_XunitV3_AzureDevOps.md b/docs/wiz/Linux_Other_Cli_XunitV3_AzureDevOps.md
new file mode 100644
index 0000000000..b5c751a208
--- /dev/null
+++ b/docs/wiz/Linux_Other_Cli_XunitV3_AzureDevOps.md
@@ -0,0 +1,222 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer CLI](Linux_Other_Cli.md) > [XunitV3](Linux_Other_Cli_XunitV3.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+Directly after the test runner step add a build step to set a flag if the testrunner failed. This is done by using a [failed condition](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml). This flag will be evaluated in the CopyFiles and PublishBuildArtifacts steps below.
+
+```yaml
+- task: CmdLine@2
+ displayName: 'Set flag to publish Verify *.received.* files when test step fails'
+ condition: failed()
+ inputs:
+ script: 'echo ##vso[task.setvariable variable=publishverify]Yes'
+```
+
+Since the PublishBuildArtifacts step in DevOps does not allow a wildcard it is necessary to stage the 'received' files before publishing:
+
+```yaml
+- task: CopyFiles@2
+ condition: eq(variables['publishverify'], 'Yes')
+ displayName: 'Copy Verify *.received.* files to Artifact Staging'
+ inputs:
+ contents: '**\*.received.*'
+ targetFolder: '$(Build.ArtifactStagingDirectory)\Verify'
+ cleanTargetFolder: true
+ overWrite: true
+```
+
+Publish the staged files as a build artifact:
+
+```yaml
+- task: PublishBuildArtifacts@1
+ displayName: 'Publish Verify *.received.* files as Artifacts'
+ name: 'verifypublish'
+ condition: eq(variables['publishverify'], 'Yes')
+ inputs:
+ PathtoPublish: '$(Build.ArtifactStagingDirectory)\Verify'
+ ArtifactName: 'Verify'
+ publishLocation: 'Container'
+```
+
+
diff --git a/docs/wiz/Linux_Other_Cli_XunitV3_GitHubActions.md b/docs/wiz/Linux_Other_Cli_XunitV3_GitHubActions.md
new file mode 100644
index 0000000000..d526ed5ac0
--- /dev/null
+++ b/docs/wiz/Linux_Other_Cli_XunitV3_GitHubActions.md
@@ -0,0 +1,198 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer CLI](Linux_Other_Cli.md) > [XunitV3](Linux_Other_Cli_XunitV3.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+Use a [if: failure()](https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#failure) condition to upload any `*.received.*` files if the build fails.
+
+```yaml
+- name: Upload Test Results
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: verify-test-results
+ path: |
+ **/*.received.*
+```
+
+
diff --git a/docs/wiz/Linux_Other_Cli_XunitV3_None.md b/docs/wiz/Linux_Other_Cli_XunitV3_None.md
new file mode 100644
index 0000000000..501bd7cb87
--- /dev/null
+++ b/docs/wiz/Linux_Other_Cli_XunitV3_None.md
@@ -0,0 +1,183 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer CLI](Linux_Other_Cli.md) > [XunitV3](Linux_Other_Cli_XunitV3.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/wiz/Linux_Other_Cli_Xunit_AppVeyor.md b/docs/wiz/Linux_Other_Cli_Xunit_AppVeyor.md
index 406e9023c5..f18faf667c 100644
--- a/docs/wiz/Linux_Other_Cli_Xunit_AppVeyor.md
+++ b/docs/wiz/Linux_Other_Cli_Xunit_AppVeyor.md
@@ -31,9 +31,10 @@ dotnet add package xunit.runner.visualstudio
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Cli_Xunit_AzureDevOps.md b/docs/wiz/Linux_Other_Cli_Xunit_AzureDevOps.md
index b7cb1e0274..c973d7e803 100644
--- a/docs/wiz/Linux_Other_Cli_Xunit_AzureDevOps.md
+++ b/docs/wiz/Linux_Other_Cli_Xunit_AzureDevOps.md
@@ -31,9 +31,10 @@ dotnet add package xunit.runner.visualstudio
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Cli_Xunit_GitHubActions.md b/docs/wiz/Linux_Other_Cli_Xunit_GitHubActions.md
index 39a0e96dec..79b524d5eb 100644
--- a/docs/wiz/Linux_Other_Cli_Xunit_GitHubActions.md
+++ b/docs/wiz/Linux_Other_Cli_Xunit_GitHubActions.md
@@ -31,9 +31,10 @@ dotnet add package xunit.runner.visualstudio
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Cli_Xunit_None.md b/docs/wiz/Linux_Other_Cli_Xunit_None.md
index eeb29316f5..5ab087ec08 100644
--- a/docs/wiz/Linux_Other_Cli_Xunit_None.md
+++ b/docs/wiz/Linux_Other_Cli_Xunit_None.md
@@ -31,9 +31,10 @@ dotnet add package xunit.runner.visualstudio
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Gui.md b/docs/wiz/Linux_Other_Gui.md
index 74ac6dbc23..83d1c0c682 100644
--- a/docs/wiz/Linux_Other_Gui.md
+++ b/docs/wiz/Linux_Other_Gui.md
@@ -13,7 +13,9 @@ To change this file edit the source file and then run MarkdownSnippets.
Options:
* [Xunit](Linux_Other_Gui_Xunit.md)
+ * [XunitV3](Linux_Other_Gui_XunitV3.md)
* [NUnit](Linux_Other_Gui_NUnit.md)
+ * [TUnit](Linux_Other_Gui_TUnit.md)
* [Fixie](Linux_Other_Gui_Fixie.md)
* [MSTest](Linux_Other_Gui_MSTest.md)
* [Expecto](Linux_Other_Gui_Expecto.md)
diff --git a/docs/wiz/Linux_Other_Gui_Expecto_AppVeyor.md b/docs/wiz/Linux_Other_Gui_Expecto_AppVeyor.md
index 1efc9139e4..f132e46f58 100644
--- a/docs/wiz/Linux_Other_Gui_Expecto_AppVeyor.md
+++ b/docs/wiz/Linux_Other_Gui_Expecto_AppVeyor.md
@@ -19,8 +19,8 @@ Add the following packages to the test project:
```fsproj
-
-
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Gui_Expecto_AzureDevOps.md b/docs/wiz/Linux_Other_Gui_Expecto_AzureDevOps.md
index aef8f38bcb..f0dafc7eb3 100644
--- a/docs/wiz/Linux_Other_Gui_Expecto_AzureDevOps.md
+++ b/docs/wiz/Linux_Other_Gui_Expecto_AzureDevOps.md
@@ -19,8 +19,8 @@ Add the following packages to the test project:
```fsproj
-
-
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Gui_Expecto_GitHubActions.md b/docs/wiz/Linux_Other_Gui_Expecto_GitHubActions.md
index bdf1a0042d..bfc126ca0c 100644
--- a/docs/wiz/Linux_Other_Gui_Expecto_GitHubActions.md
+++ b/docs/wiz/Linux_Other_Gui_Expecto_GitHubActions.md
@@ -19,8 +19,8 @@ Add the following packages to the test project:
```fsproj
-
-
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Gui_Expecto_None.md b/docs/wiz/Linux_Other_Gui_Expecto_None.md
index fd9f33e929..6534c51e49 100644
--- a/docs/wiz/Linux_Other_Gui_Expecto_None.md
+++ b/docs/wiz/Linux_Other_Gui_Expecto_None.md
@@ -19,8 +19,8 @@ Add the following packages to the test project:
```fsproj
-
-
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Gui_Fixie_AppVeyor.md b/docs/wiz/Linux_Other_Gui_Fixie_AppVeyor.md
index c7b95af1ab..3a68873e81 100644
--- a/docs/wiz/Linux_Other_Gui_Fixie_AppVeyor.md
+++ b/docs/wiz/Linux_Other_Gui_Fixie_AppVeyor.md
@@ -18,7 +18,7 @@ Add the following packages to the test project:
```csproj
-
+
```
snippet source | anchor
@@ -35,9 +35,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +55,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +67,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffPlex
@@ -140,6 +159,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Linux_Other_Gui_Fixie_AzureDevOps.md b/docs/wiz/Linux_Other_Gui_Fixie_AzureDevOps.md
index a3ee2a4d78..b9f093f677 100644
--- a/docs/wiz/Linux_Other_Gui_Fixie_AzureDevOps.md
+++ b/docs/wiz/Linux_Other_Gui_Fixie_AzureDevOps.md
@@ -18,7 +18,7 @@ Add the following packages to the test project:
```csproj
-
+
```
snippet source | anchor
@@ -35,9 +35,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +55,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +67,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffPlex
@@ -140,6 +159,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Linux_Other_Gui_Fixie_GitHubActions.md b/docs/wiz/Linux_Other_Gui_Fixie_GitHubActions.md
index 2dd2744d86..7681e27e98 100644
--- a/docs/wiz/Linux_Other_Gui_Fixie_GitHubActions.md
+++ b/docs/wiz/Linux_Other_Gui_Fixie_GitHubActions.md
@@ -18,7 +18,7 @@ Add the following packages to the test project:
```csproj
-
+
```
snippet source | anchor
@@ -35,9 +35,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +55,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +67,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffPlex
@@ -140,6 +159,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Linux_Other_Gui_Fixie_None.md b/docs/wiz/Linux_Other_Gui_Fixie_None.md
index 1ae3ddca2a..75debada67 100644
--- a/docs/wiz/Linux_Other_Gui_Fixie_None.md
+++ b/docs/wiz/Linux_Other_Gui_Fixie_None.md
@@ -18,7 +18,7 @@ Add the following packages to the test project:
```csproj
-
+
```
snippet source | anchor
@@ -35,9 +35,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +55,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +67,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffPlex
@@ -140,6 +159,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Linux_Other_Gui_MSTest_AppVeyor.md b/docs/wiz/Linux_Other_Gui_MSTest_AppVeyor.md
index 28484a3903..d3f1e7f9af 100644
--- a/docs/wiz/Linux_Other_Gui_MSTest_AppVeyor.md
+++ b/docs/wiz/Linux_Other_Gui_MSTest_AppVeyor.md
@@ -17,10 +17,11 @@ Add the following packages to the test project:
```csproj
-
-
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -35,9 +36,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +56,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +68,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Gui_MSTest_AzureDevOps.md b/docs/wiz/Linux_Other_Gui_MSTest_AzureDevOps.md
index cf0bb05349..be61dae415 100644
--- a/docs/wiz/Linux_Other_Gui_MSTest_AzureDevOps.md
+++ b/docs/wiz/Linux_Other_Gui_MSTest_AzureDevOps.md
@@ -17,10 +17,11 @@ Add the following packages to the test project:
```csproj
-
-
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -35,9 +36,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +56,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +68,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Gui_MSTest_GitHubActions.md b/docs/wiz/Linux_Other_Gui_MSTest_GitHubActions.md
index 3d292a9c47..6413562479 100644
--- a/docs/wiz/Linux_Other_Gui_MSTest_GitHubActions.md
+++ b/docs/wiz/Linux_Other_Gui_MSTest_GitHubActions.md
@@ -17,10 +17,11 @@ Add the following packages to the test project:
```csproj
-
-
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -35,9 +36,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +56,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +68,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Gui_MSTest_None.md b/docs/wiz/Linux_Other_Gui_MSTest_None.md
index efc4490fdd..2f86ffdcec 100644
--- a/docs/wiz/Linux_Other_Gui_MSTest_None.md
+++ b/docs/wiz/Linux_Other_Gui_MSTest_None.md
@@ -17,10 +17,11 @@ Add the following packages to the test project:
```csproj
-
-
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -35,9 +36,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +56,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +68,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Gui_NUnit_AppVeyor.md b/docs/wiz/Linux_Other_Gui_NUnit_AppVeyor.md
index fde9fae8f3..1cb0a4676c 100644
--- a/docs/wiz/Linux_Other_Gui_NUnit_AppVeyor.md
+++ b/docs/wiz/Linux_Other_Gui_NUnit_AppVeyor.md
@@ -17,11 +17,12 @@ Add the following packages to the test project:
```csproj
-
-
-
+
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -36,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -55,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -66,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Gui_NUnit_AzureDevOps.md b/docs/wiz/Linux_Other_Gui_NUnit_AzureDevOps.md
index f1365c5e67..a39186cede 100644
--- a/docs/wiz/Linux_Other_Gui_NUnit_AzureDevOps.md
+++ b/docs/wiz/Linux_Other_Gui_NUnit_AzureDevOps.md
@@ -17,11 +17,12 @@ Add the following packages to the test project:
```csproj
-
-
-
+
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -36,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -55,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -66,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Gui_NUnit_GitHubActions.md b/docs/wiz/Linux_Other_Gui_NUnit_GitHubActions.md
index 5f316c7d11..5f370616dd 100644
--- a/docs/wiz/Linux_Other_Gui_NUnit_GitHubActions.md
+++ b/docs/wiz/Linux_Other_Gui_NUnit_GitHubActions.md
@@ -17,11 +17,12 @@ Add the following packages to the test project:
```csproj
-
-
-
+
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -36,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -55,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -66,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Gui_NUnit_None.md b/docs/wiz/Linux_Other_Gui_NUnit_None.md
index 18c7c78718..792d4ce1c1 100644
--- a/docs/wiz/Linux_Other_Gui_NUnit_None.md
+++ b/docs/wiz/Linux_Other_Gui_NUnit_None.md
@@ -17,11 +17,12 @@ Add the following packages to the test project:
```csproj
-
-
-
+
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -36,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -55,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -66,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Gui_TUnit.md b/docs/wiz/Linux_Other_Gui_TUnit.md
new file mode 100644
index 0000000000..bfb8b06b2a
--- /dev/null
+++ b/docs/wiz/Linux_Other_Gui_TUnit.md
@@ -0,0 +1,18 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer GUI](Linux_Other_Gui.md) > [TUnit](Linux_Other_Gui_TUnit.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Linux_Other_Gui_TUnit_AppVeyor.md)
+ * [GitHub Actions](Linux_Other_Gui_TUnit_GitHubActions.md)
+ * [Azure DevOps](Linux_Other_Gui_TUnit_AzureDevOps.md)
+ * [No build server](Linux_Other_Gui_TUnit_None.md)
diff --git a/docs/wiz/Linux_Other_Gui_TUnit_AppVeyor.md b/docs/wiz/Linux_Other_Gui_TUnit_AppVeyor.md
new file mode 100644
index 0000000000..2923da3b60
--- /dev/null
+++ b/docs/wiz/Linux_Other_Gui_TUnit_AppVeyor.md
@@ -0,0 +1,187 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer GUI](Linux_Other_Gui.md) > [TUnit](Linux_Other_Gui_TUnit.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+Use a [on_failure build step](https://www.appveyor.com/docs/build-configuration/#build-pipeline) to call [Push-AppveyorArtifact](https://www.appveyor.com/docs/build-worker-api/#push-artifact).
+
+```
+on_failure:
+ - ps: Get-ChildItem *.received.* -recurse | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
+```
+
+See also [Pushing artifacts from scripts](https://www.appveyor.com/docs/packaging-artifacts/#pushing-artifacts-from-scripts).
+
diff --git a/docs/wiz/Linux_Other_Gui_TUnit_AzureDevOps.md b/docs/wiz/Linux_Other_Gui_TUnit_AzureDevOps.md
new file mode 100644
index 0000000000..1f8c5ba065
--- /dev/null
+++ b/docs/wiz/Linux_Other_Gui_TUnit_AzureDevOps.md
@@ -0,0 +1,215 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer GUI](Linux_Other_Gui.md) > [TUnit](Linux_Other_Gui_TUnit.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+Directly after the test runner step add a build step to set a flag if the testrunner failed. This is done by using a [failed condition](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml). This flag will be evaluated in the CopyFiles and PublishBuildArtifacts steps below.
+
+```yaml
+- task: CmdLine@2
+ displayName: 'Set flag to publish Verify *.received.* files when test step fails'
+ condition: failed()
+ inputs:
+ script: 'echo ##vso[task.setvariable variable=publishverify]Yes'
+```
+
+Since the PublishBuildArtifacts step in DevOps does not allow a wildcard it is necessary to stage the 'received' files before publishing:
+
+```yaml
+- task: CopyFiles@2
+ condition: eq(variables['publishverify'], 'Yes')
+ displayName: 'Copy Verify *.received.* files to Artifact Staging'
+ inputs:
+ contents: '**\*.received.*'
+ targetFolder: '$(Build.ArtifactStagingDirectory)\Verify'
+ cleanTargetFolder: true
+ overWrite: true
+```
+
+Publish the staged files as a build artifact:
+
+```yaml
+- task: PublishBuildArtifacts@1
+ displayName: 'Publish Verify *.received.* files as Artifacts'
+ name: 'verifypublish'
+ condition: eq(variables['publishverify'], 'Yes')
+ inputs:
+ PathtoPublish: '$(Build.ArtifactStagingDirectory)\Verify'
+ ArtifactName: 'Verify'
+ publishLocation: 'Container'
+```
+
+
diff --git a/docs/wiz/Linux_Other_Gui_TUnit_GitHubActions.md b/docs/wiz/Linux_Other_Gui_TUnit_GitHubActions.md
new file mode 100644
index 0000000000..358a868d0c
--- /dev/null
+++ b/docs/wiz/Linux_Other_Gui_TUnit_GitHubActions.md
@@ -0,0 +1,191 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer GUI](Linux_Other_Gui.md) > [TUnit](Linux_Other_Gui_TUnit.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+Use a [if: failure()](https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#failure) condition to upload any `*.received.*` files if the build fails.
+
+```yaml
+- name: Upload Test Results
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: verify-test-results
+ path: |
+ **/*.received.*
+```
+
+
diff --git a/docs/wiz/Linux_Other_Gui_TUnit_None.md b/docs/wiz/Linux_Other_Gui_TUnit_None.md
new file mode 100644
index 0000000000..1c44ade2c0
--- /dev/null
+++ b/docs/wiz/Linux_Other_Gui_TUnit_None.md
@@ -0,0 +1,176 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer GUI](Linux_Other_Gui.md) > [TUnit](Linux_Other_Gui_TUnit.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/wiz/Linux_Other_Gui_XunitV3.md b/docs/wiz/Linux_Other_Gui_XunitV3.md
new file mode 100644
index 0000000000..b654a7ef31
--- /dev/null
+++ b/docs/wiz/Linux_Other_Gui_XunitV3.md
@@ -0,0 +1,18 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer GUI](Linux_Other_Gui.md) > [XunitV3](Linux_Other_Gui_XunitV3.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Linux_Other_Gui_XunitV3_AppVeyor.md)
+ * [GitHub Actions](Linux_Other_Gui_XunitV3_GitHubActions.md)
+ * [Azure DevOps](Linux_Other_Gui_XunitV3_AzureDevOps.md)
+ * [No build server](Linux_Other_Gui_XunitV3_None.md)
diff --git a/docs/wiz/Linux_Other_Gui_XunitV3_AppVeyor.md b/docs/wiz/Linux_Other_Gui_XunitV3_AppVeyor.md
new file mode 100644
index 0000000000..5ba037b22c
--- /dev/null
+++ b/docs/wiz/Linux_Other_Gui_XunitV3_AppVeyor.md
@@ -0,0 +1,188 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer GUI](Linux_Other_Gui.md) > [XunitV3](Linux_Other_Gui_XunitV3.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+Use a [on_failure build step](https://www.appveyor.com/docs/build-configuration/#build-pipeline) to call [Push-AppveyorArtifact](https://www.appveyor.com/docs/build-worker-api/#push-artifact).
+
+```
+on_failure:
+ - ps: Get-ChildItem *.received.* -recurse | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
+```
+
+See also [Pushing artifacts from scripts](https://www.appveyor.com/docs/packaging-artifacts/#pushing-artifacts-from-scripts).
+
diff --git a/docs/wiz/Linux_Other_Gui_XunitV3_AzureDevOps.md b/docs/wiz/Linux_Other_Gui_XunitV3_AzureDevOps.md
new file mode 100644
index 0000000000..58716b6e6c
--- /dev/null
+++ b/docs/wiz/Linux_Other_Gui_XunitV3_AzureDevOps.md
@@ -0,0 +1,216 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer GUI](Linux_Other_Gui.md) > [XunitV3](Linux_Other_Gui_XunitV3.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+Directly after the test runner step add a build step to set a flag if the testrunner failed. This is done by using a [failed condition](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml). This flag will be evaluated in the CopyFiles and PublishBuildArtifacts steps below.
+
+```yaml
+- task: CmdLine@2
+ displayName: 'Set flag to publish Verify *.received.* files when test step fails'
+ condition: failed()
+ inputs:
+ script: 'echo ##vso[task.setvariable variable=publishverify]Yes'
+```
+
+Since the PublishBuildArtifacts step in DevOps does not allow a wildcard it is necessary to stage the 'received' files before publishing:
+
+```yaml
+- task: CopyFiles@2
+ condition: eq(variables['publishverify'], 'Yes')
+ displayName: 'Copy Verify *.received.* files to Artifact Staging'
+ inputs:
+ contents: '**\*.received.*'
+ targetFolder: '$(Build.ArtifactStagingDirectory)\Verify'
+ cleanTargetFolder: true
+ overWrite: true
+```
+
+Publish the staged files as a build artifact:
+
+```yaml
+- task: PublishBuildArtifacts@1
+ displayName: 'Publish Verify *.received.* files as Artifacts'
+ name: 'verifypublish'
+ condition: eq(variables['publishverify'], 'Yes')
+ inputs:
+ PathtoPublish: '$(Build.ArtifactStagingDirectory)\Verify'
+ ArtifactName: 'Verify'
+ publishLocation: 'Container'
+```
+
+
diff --git a/docs/wiz/Linux_Other_Gui_XunitV3_GitHubActions.md b/docs/wiz/Linux_Other_Gui_XunitV3_GitHubActions.md
new file mode 100644
index 0000000000..e32efc8ccc
--- /dev/null
+++ b/docs/wiz/Linux_Other_Gui_XunitV3_GitHubActions.md
@@ -0,0 +1,192 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer GUI](Linux_Other_Gui.md) > [XunitV3](Linux_Other_Gui_XunitV3.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+Use a [if: failure()](https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#failure) condition to upload any `*.received.*` files if the build fails.
+
+```yaml
+- name: Upload Test Results
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: verify-test-results
+ path: |
+ **/*.received.*
+```
+
+
diff --git a/docs/wiz/Linux_Other_Gui_XunitV3_None.md b/docs/wiz/Linux_Other_Gui_XunitV3_None.md
new file mode 100644
index 0000000000..ebfa5ec58f
--- /dev/null
+++ b/docs/wiz/Linux_Other_Gui_XunitV3_None.md
@@ -0,0 +1,177 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [Other](Linux_Other.md) > [Prefer GUI](Linux_Other_Gui.md) > [XunitV3](Linux_Other_Gui_XunitV3.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/wiz/Linux_Other_Gui_Xunit_AppVeyor.md b/docs/wiz/Linux_Other_Gui_Xunit_AppVeyor.md
index 69baff6f70..e8f6cbc40c 100644
--- a/docs/wiz/Linux_Other_Gui_Xunit_AppVeyor.md
+++ b/docs/wiz/Linux_Other_Gui_Xunit_AppVeyor.md
@@ -17,10 +17,10 @@ Add the following packages to the test project:
```csproj
-
-
-
-
+
+
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Gui_Xunit_AzureDevOps.md b/docs/wiz/Linux_Other_Gui_Xunit_AzureDevOps.md
index 089b72ed0b..fa23fd8681 100644
--- a/docs/wiz/Linux_Other_Gui_Xunit_AzureDevOps.md
+++ b/docs/wiz/Linux_Other_Gui_Xunit_AzureDevOps.md
@@ -17,10 +17,10 @@ Add the following packages to the test project:
```csproj
-
-
-
-
+
+
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Gui_Xunit_GitHubActions.md b/docs/wiz/Linux_Other_Gui_Xunit_GitHubActions.md
index 76e8f8ee72..fe90c630a9 100644
--- a/docs/wiz/Linux_Other_Gui_Xunit_GitHubActions.md
+++ b/docs/wiz/Linux_Other_Gui_Xunit_GitHubActions.md
@@ -17,10 +17,10 @@ Add the following packages to the test project:
```csproj
-
-
-
-
+
+
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Other_Gui_Xunit_None.md b/docs/wiz/Linux_Other_Gui_Xunit_None.md
index f297ff7095..5f026cf16a 100644
--- a/docs/wiz/Linux_Other_Gui_Xunit_None.md
+++ b/docs/wiz/Linux_Other_Gui_Xunit_None.md
@@ -17,10 +17,10 @@ Add the following packages to the test project:
```csproj
-
-
-
-
+
+
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/Linux_Rider_Cli.md b/docs/wiz/Linux_Rider_Cli.md
index 0b5ba844d2..9946a564ca 100644
--- a/docs/wiz/Linux_Rider_Cli.md
+++ b/docs/wiz/Linux_Rider_Cli.md
@@ -13,7 +13,9 @@ To change this file edit the source file and then run MarkdownSnippets.
Options:
* [Xunit](Linux_Rider_Cli_Xunit.md)
+ * [XunitV3](Linux_Rider_Cli_XunitV3.md)
* [NUnit](Linux_Rider_Cli_NUnit.md)
+ * [TUnit](Linux_Rider_Cli_TUnit.md)
* [Fixie](Linux_Rider_Cli_Fixie.md)
* [MSTest](Linux_Rider_Cli_MSTest.md)
* [Expecto](Linux_Rider_Cli_Expecto.md)
diff --git a/docs/wiz/Linux_Rider_Cli_Expecto_AppVeyor.md b/docs/wiz/Linux_Rider_Cli_Expecto_AppVeyor.md
index 2e64f398b4..c56d555be9 100644
--- a/docs/wiz/Linux_Rider_Cli_Expecto_AppVeyor.md
+++ b/docs/wiz/Linux_Rider_Cli_Expecto_AppVeyor.md
@@ -30,9 +30,10 @@ dotnet add package Verify.Expecto
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -49,6 +50,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -60,7 +62,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Cli_Expecto_AzureDevOps.md b/docs/wiz/Linux_Rider_Cli_Expecto_AzureDevOps.md
index 7bb46d77e7..e7bd9d2251 100644
--- a/docs/wiz/Linux_Rider_Cli_Expecto_AzureDevOps.md
+++ b/docs/wiz/Linux_Rider_Cli_Expecto_AzureDevOps.md
@@ -30,9 +30,10 @@ dotnet add package Verify.Expecto
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -49,6 +50,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -60,7 +62,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Cli_Expecto_GitHubActions.md b/docs/wiz/Linux_Rider_Cli_Expecto_GitHubActions.md
index 0772c4403e..1f284cba97 100644
--- a/docs/wiz/Linux_Rider_Cli_Expecto_GitHubActions.md
+++ b/docs/wiz/Linux_Rider_Cli_Expecto_GitHubActions.md
@@ -30,9 +30,10 @@ dotnet add package Verify.Expecto
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -49,6 +50,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -60,7 +62,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Cli_Expecto_None.md b/docs/wiz/Linux_Rider_Cli_Expecto_None.md
index 226075ba08..956e9e0608 100644
--- a/docs/wiz/Linux_Rider_Cli_Expecto_None.md
+++ b/docs/wiz/Linux_Rider_Cli_Expecto_None.md
@@ -30,9 +30,10 @@ dotnet add package Verify.Expecto
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -49,6 +50,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -60,7 +62,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Cli_Fixie_AppVeyor.md b/docs/wiz/Linux_Rider_Cli_Fixie_AppVeyor.md
index 8f7d5eb6db..1a7d8b5fd0 100644
--- a/docs/wiz/Linux_Rider_Cli_Fixie_AppVeyor.md
+++ b/docs/wiz/Linux_Rider_Cli_Fixie_AppVeyor.md
@@ -29,9 +29,10 @@ dotnet add package Verify.Fixie
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -48,6 +49,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -59,7 +61,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## Rider Plugin
@@ -195,6 +214,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Linux_Rider_Cli_Fixie_AzureDevOps.md b/docs/wiz/Linux_Rider_Cli_Fixie_AzureDevOps.md
index d03fc6fe7c..da1fa29035 100644
--- a/docs/wiz/Linux_Rider_Cli_Fixie_AzureDevOps.md
+++ b/docs/wiz/Linux_Rider_Cli_Fixie_AzureDevOps.md
@@ -29,9 +29,10 @@ dotnet add package Verify.Fixie
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -48,6 +49,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -59,7 +61,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## Rider Plugin
@@ -195,6 +214,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Linux_Rider_Cli_Fixie_GitHubActions.md b/docs/wiz/Linux_Rider_Cli_Fixie_GitHubActions.md
index 03022ac8a0..1952e0e56c 100644
--- a/docs/wiz/Linux_Rider_Cli_Fixie_GitHubActions.md
+++ b/docs/wiz/Linux_Rider_Cli_Fixie_GitHubActions.md
@@ -29,9 +29,10 @@ dotnet add package Verify.Fixie
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -48,6 +49,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -59,7 +61,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## Rider Plugin
@@ -195,6 +214,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Linux_Rider_Cli_Fixie_None.md b/docs/wiz/Linux_Rider_Cli_Fixie_None.md
index af0b6ac926..1e0b029c24 100644
--- a/docs/wiz/Linux_Rider_Cli_Fixie_None.md
+++ b/docs/wiz/Linux_Rider_Cli_Fixie_None.md
@@ -29,9 +29,10 @@ dotnet add package Verify.Fixie
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -48,6 +49,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -59,7 +61,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## Rider Plugin
@@ -195,6 +214,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Linux_Rider_Cli_MSTest_AppVeyor.md b/docs/wiz/Linux_Rider_Cli_MSTest_AppVeyor.md
index 7738ab1b8e..948ac4d52d 100644
--- a/docs/wiz/Linux_Rider_Cli_MSTest_AppVeyor.md
+++ b/docs/wiz/Linux_Rider_Cli_MSTest_AppVeyor.md
@@ -31,9 +31,10 @@ dotnet add package Verify.MSTest
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Cli_MSTest_AzureDevOps.md b/docs/wiz/Linux_Rider_Cli_MSTest_AzureDevOps.md
index b64ea95ac9..24971b2c72 100644
--- a/docs/wiz/Linux_Rider_Cli_MSTest_AzureDevOps.md
+++ b/docs/wiz/Linux_Rider_Cli_MSTest_AzureDevOps.md
@@ -31,9 +31,10 @@ dotnet add package Verify.MSTest
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Cli_MSTest_GitHubActions.md b/docs/wiz/Linux_Rider_Cli_MSTest_GitHubActions.md
index 0e62e7464c..6c805cb111 100644
--- a/docs/wiz/Linux_Rider_Cli_MSTest_GitHubActions.md
+++ b/docs/wiz/Linux_Rider_Cli_MSTest_GitHubActions.md
@@ -31,9 +31,10 @@ dotnet add package Verify.MSTest
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Cli_MSTest_None.md b/docs/wiz/Linux_Rider_Cli_MSTest_None.md
index 0f12d45c5b..f2bab0277b 100644
--- a/docs/wiz/Linux_Rider_Cli_MSTest_None.md
+++ b/docs/wiz/Linux_Rider_Cli_MSTest_None.md
@@ -31,9 +31,10 @@ dotnet add package Verify.MSTest
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Cli_NUnit_AppVeyor.md b/docs/wiz/Linux_Rider_Cli_NUnit_AppVeyor.md
index daeec86b09..9d70b7a4b6 100644
--- a/docs/wiz/Linux_Rider_Cli_NUnit_AppVeyor.md
+++ b/docs/wiz/Linux_Rider_Cli_NUnit_AppVeyor.md
@@ -31,9 +31,10 @@ dotnet add package Verify.NUnit
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Cli_NUnit_AzureDevOps.md b/docs/wiz/Linux_Rider_Cli_NUnit_AzureDevOps.md
index 5c96de0016..4d600b7c93 100644
--- a/docs/wiz/Linux_Rider_Cli_NUnit_AzureDevOps.md
+++ b/docs/wiz/Linux_Rider_Cli_NUnit_AzureDevOps.md
@@ -31,9 +31,10 @@ dotnet add package Verify.NUnit
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Cli_NUnit_GitHubActions.md b/docs/wiz/Linux_Rider_Cli_NUnit_GitHubActions.md
index bb78591215..9111e2fd6b 100644
--- a/docs/wiz/Linux_Rider_Cli_NUnit_GitHubActions.md
+++ b/docs/wiz/Linux_Rider_Cli_NUnit_GitHubActions.md
@@ -31,9 +31,10 @@ dotnet add package Verify.NUnit
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Cli_NUnit_None.md b/docs/wiz/Linux_Rider_Cli_NUnit_None.md
index 5474d0c979..238a084d1e 100644
--- a/docs/wiz/Linux_Rider_Cli_NUnit_None.md
+++ b/docs/wiz/Linux_Rider_Cli_NUnit_None.md
@@ -31,9 +31,10 @@ dotnet add package Verify.NUnit
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Cli_TUnit.md b/docs/wiz/Linux_Rider_Cli_TUnit.md
new file mode 100644
index 0000000000..15719fa25b
--- /dev/null
+++ b/docs/wiz/Linux_Rider_Cli_TUnit.md
@@ -0,0 +1,18 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer CLI](Linux_Rider_Cli.md) > [TUnit](Linux_Rider_Cli_TUnit.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Linux_Rider_Cli_TUnit_AppVeyor.md)
+ * [GitHub Actions](Linux_Rider_Cli_TUnit_GitHubActions.md)
+ * [Azure DevOps](Linux_Rider_Cli_TUnit_AzureDevOps.md)
+ * [No build server](Linux_Rider_Cli_TUnit_None.md)
diff --git a/docs/wiz/Linux_Rider_Cli_TUnit_AppVeyor.md b/docs/wiz/Linux_Rider_Cli_TUnit_AppVeyor.md
new file mode 100644
index 0000000000..6abfcac89c
--- /dev/null
+++ b/docs/wiz/Linux_Rider_Cli_TUnit_AppVeyor.md
@@ -0,0 +1,242 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer CLI](Linux_Rider_Cli.md) > [TUnit](Linux_Rider_Cli_TUnit.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+Use a [on_failure build step](https://www.appveyor.com/docs/build-configuration/#build-pipeline) to call [Push-AppveyorArtifact](https://www.appveyor.com/docs/build-worker-api/#push-artifact).
+
+```
+on_failure:
+ - ps: Get-ChildItem *.received.* -recurse | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
+```
+
+See also [Pushing artifacts from scripts](https://www.appveyor.com/docs/packaging-artifacts/#pushing-artifacts-from-scripts).
+
diff --git a/docs/wiz/Linux_Rider_Cli_TUnit_AzureDevOps.md b/docs/wiz/Linux_Rider_Cli_TUnit_AzureDevOps.md
new file mode 100644
index 0000000000..f6c7dbbb4f
--- /dev/null
+++ b/docs/wiz/Linux_Rider_Cli_TUnit_AzureDevOps.md
@@ -0,0 +1,270 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer CLI](Linux_Rider_Cli.md) > [TUnit](Linux_Rider_Cli_TUnit.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+Directly after the test runner step add a build step to set a flag if the testrunner failed. This is done by using a [failed condition](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml). This flag will be evaluated in the CopyFiles and PublishBuildArtifacts steps below.
+
+```yaml
+- task: CmdLine@2
+ displayName: 'Set flag to publish Verify *.received.* files when test step fails'
+ condition: failed()
+ inputs:
+ script: 'echo ##vso[task.setvariable variable=publishverify]Yes'
+```
+
+Since the PublishBuildArtifacts step in DevOps does not allow a wildcard it is necessary to stage the 'received' files before publishing:
+
+```yaml
+- task: CopyFiles@2
+ condition: eq(variables['publishverify'], 'Yes')
+ displayName: 'Copy Verify *.received.* files to Artifact Staging'
+ inputs:
+ contents: '**\*.received.*'
+ targetFolder: '$(Build.ArtifactStagingDirectory)\Verify'
+ cleanTargetFolder: true
+ overWrite: true
+```
+
+Publish the staged files as a build artifact:
+
+```yaml
+- task: PublishBuildArtifacts@1
+ displayName: 'Publish Verify *.received.* files as Artifacts'
+ name: 'verifypublish'
+ condition: eq(variables['publishverify'], 'Yes')
+ inputs:
+ PathtoPublish: '$(Build.ArtifactStagingDirectory)\Verify'
+ ArtifactName: 'Verify'
+ publishLocation: 'Container'
+```
+
+
diff --git a/docs/wiz/Linux_Rider_Cli_TUnit_GitHubActions.md b/docs/wiz/Linux_Rider_Cli_TUnit_GitHubActions.md
new file mode 100644
index 0000000000..3edda8bea6
--- /dev/null
+++ b/docs/wiz/Linux_Rider_Cli_TUnit_GitHubActions.md
@@ -0,0 +1,246 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer CLI](Linux_Rider_Cli.md) > [TUnit](Linux_Rider_Cli_TUnit.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+Use a [if: failure()](https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#failure) condition to upload any `*.received.*` files if the build fails.
+
+```yaml
+- name: Upload Test Results
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: verify-test-results
+ path: |
+ **/*.received.*
+```
+
+
diff --git a/docs/wiz/Linux_Rider_Cli_TUnit_None.md b/docs/wiz/Linux_Rider_Cli_TUnit_None.md
new file mode 100644
index 0000000000..15b06e03a6
--- /dev/null
+++ b/docs/wiz/Linux_Rider_Cli_TUnit_None.md
@@ -0,0 +1,231 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer CLI](Linux_Rider_Cli.md) > [TUnit](Linux_Rider_Cli_TUnit.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/wiz/Linux_Rider_Cli_XunitV3.md b/docs/wiz/Linux_Rider_Cli_XunitV3.md
new file mode 100644
index 0000000000..e110c7ff45
--- /dev/null
+++ b/docs/wiz/Linux_Rider_Cli_XunitV3.md
@@ -0,0 +1,18 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer CLI](Linux_Rider_Cli.md) > [XunitV3](Linux_Rider_Cli_XunitV3.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Linux_Rider_Cli_XunitV3_AppVeyor.md)
+ * [GitHub Actions](Linux_Rider_Cli_XunitV3_GitHubActions.md)
+ * [Azure DevOps](Linux_Rider_Cli_XunitV3_AzureDevOps.md)
+ * [No build server](Linux_Rider_Cli_XunitV3_None.md)
diff --git a/docs/wiz/Linux_Rider_Cli_XunitV3_AppVeyor.md b/docs/wiz/Linux_Rider_Cli_XunitV3_AppVeyor.md
new file mode 100644
index 0000000000..7215929543
--- /dev/null
+++ b/docs/wiz/Linux_Rider_Cli_XunitV3_AppVeyor.md
@@ -0,0 +1,243 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer CLI](Linux_Rider_Cli.md) > [XunitV3](Linux_Rider_Cli_XunitV3.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+Use a [on_failure build step](https://www.appveyor.com/docs/build-configuration/#build-pipeline) to call [Push-AppveyorArtifact](https://www.appveyor.com/docs/build-worker-api/#push-artifact).
+
+```
+on_failure:
+ - ps: Get-ChildItem *.received.* -recurse | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
+```
+
+See also [Pushing artifacts from scripts](https://www.appveyor.com/docs/packaging-artifacts/#pushing-artifacts-from-scripts).
+
diff --git a/docs/wiz/Linux_Rider_Cli_XunitV3_AzureDevOps.md b/docs/wiz/Linux_Rider_Cli_XunitV3_AzureDevOps.md
new file mode 100644
index 0000000000..568f1f054e
--- /dev/null
+++ b/docs/wiz/Linux_Rider_Cli_XunitV3_AzureDevOps.md
@@ -0,0 +1,271 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer CLI](Linux_Rider_Cli.md) > [XunitV3](Linux_Rider_Cli_XunitV3.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+Directly after the test runner step add a build step to set a flag if the testrunner failed. This is done by using a [failed condition](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml). This flag will be evaluated in the CopyFiles and PublishBuildArtifacts steps below.
+
+```yaml
+- task: CmdLine@2
+ displayName: 'Set flag to publish Verify *.received.* files when test step fails'
+ condition: failed()
+ inputs:
+ script: 'echo ##vso[task.setvariable variable=publishverify]Yes'
+```
+
+Since the PublishBuildArtifacts step in DevOps does not allow a wildcard it is necessary to stage the 'received' files before publishing:
+
+```yaml
+- task: CopyFiles@2
+ condition: eq(variables['publishverify'], 'Yes')
+ displayName: 'Copy Verify *.received.* files to Artifact Staging'
+ inputs:
+ contents: '**\*.received.*'
+ targetFolder: '$(Build.ArtifactStagingDirectory)\Verify'
+ cleanTargetFolder: true
+ overWrite: true
+```
+
+Publish the staged files as a build artifact:
+
+```yaml
+- task: PublishBuildArtifacts@1
+ displayName: 'Publish Verify *.received.* files as Artifacts'
+ name: 'verifypublish'
+ condition: eq(variables['publishverify'], 'Yes')
+ inputs:
+ PathtoPublish: '$(Build.ArtifactStagingDirectory)\Verify'
+ ArtifactName: 'Verify'
+ publishLocation: 'Container'
+```
+
+
diff --git a/docs/wiz/Linux_Rider_Cli_XunitV3_GitHubActions.md b/docs/wiz/Linux_Rider_Cli_XunitV3_GitHubActions.md
new file mode 100644
index 0000000000..6c2f8c318a
--- /dev/null
+++ b/docs/wiz/Linux_Rider_Cli_XunitV3_GitHubActions.md
@@ -0,0 +1,247 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer CLI](Linux_Rider_Cli.md) > [XunitV3](Linux_Rider_Cli_XunitV3.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+Use a [if: failure()](https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#failure) condition to upload any `*.received.*` files if the build fails.
+
+```yaml
+- name: Upload Test Results
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: verify-test-results
+ path: |
+ **/*.received.*
+```
+
+
diff --git a/docs/wiz/Linux_Rider_Cli_XunitV3_None.md b/docs/wiz/Linux_Rider_Cli_XunitV3_None.md
new file mode 100644
index 0000000000..dad1fad0dc
--- /dev/null
+++ b/docs/wiz/Linux_Rider_Cli_XunitV3_None.md
@@ -0,0 +1,232 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer CLI](Linux_Rider_Cli.md) > [XunitV3](Linux_Rider_Cli_XunitV3.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/wiz/Linux_Rider_Cli_Xunit_AppVeyor.md b/docs/wiz/Linux_Rider_Cli_Xunit_AppVeyor.md
index b1a686ee92..0d6643e939 100644
--- a/docs/wiz/Linux_Rider_Cli_Xunit_AppVeyor.md
+++ b/docs/wiz/Linux_Rider_Cli_Xunit_AppVeyor.md
@@ -31,9 +31,10 @@ dotnet add package xunit.runner.visualstudio
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Cli_Xunit_AzureDevOps.md b/docs/wiz/Linux_Rider_Cli_Xunit_AzureDevOps.md
index d2e109a587..9043a9439b 100644
--- a/docs/wiz/Linux_Rider_Cli_Xunit_AzureDevOps.md
+++ b/docs/wiz/Linux_Rider_Cli_Xunit_AzureDevOps.md
@@ -31,9 +31,10 @@ dotnet add package xunit.runner.visualstudio
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Cli_Xunit_GitHubActions.md b/docs/wiz/Linux_Rider_Cli_Xunit_GitHubActions.md
index f33992cbb6..db82ea0c25 100644
--- a/docs/wiz/Linux_Rider_Cli_Xunit_GitHubActions.md
+++ b/docs/wiz/Linux_Rider_Cli_Xunit_GitHubActions.md
@@ -31,9 +31,10 @@ dotnet add package xunit.runner.visualstudio
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Cli_Xunit_None.md b/docs/wiz/Linux_Rider_Cli_Xunit_None.md
index a72ea8b4e0..39636725ba 100644
--- a/docs/wiz/Linux_Rider_Cli_Xunit_None.md
+++ b/docs/wiz/Linux_Rider_Cli_Xunit_None.md
@@ -31,9 +31,10 @@ dotnet add package xunit.runner.visualstudio
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Gui.md b/docs/wiz/Linux_Rider_Gui.md
index e7e4006e8a..9e7b763e77 100644
--- a/docs/wiz/Linux_Rider_Gui.md
+++ b/docs/wiz/Linux_Rider_Gui.md
@@ -13,7 +13,9 @@ To change this file edit the source file and then run MarkdownSnippets.
Options:
* [Xunit](Linux_Rider_Gui_Xunit.md)
+ * [XunitV3](Linux_Rider_Gui_XunitV3.md)
* [NUnit](Linux_Rider_Gui_NUnit.md)
+ * [TUnit](Linux_Rider_Gui_TUnit.md)
* [Fixie](Linux_Rider_Gui_Fixie.md)
* [MSTest](Linux_Rider_Gui_MSTest.md)
* [Expecto](Linux_Rider_Gui_Expecto.md)
diff --git a/docs/wiz/Linux_Rider_Gui_Expecto_AppVeyor.md b/docs/wiz/Linux_Rider_Gui_Expecto_AppVeyor.md
index 6507b96c61..41369d310e 100644
--- a/docs/wiz/Linux_Rider_Gui_Expecto_AppVeyor.md
+++ b/docs/wiz/Linux_Rider_Gui_Expecto_AppVeyor.md
@@ -19,8 +19,8 @@ Add the following packages to the test project:
```fsproj
-
-
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Gui_Expecto_AzureDevOps.md b/docs/wiz/Linux_Rider_Gui_Expecto_AzureDevOps.md
index e2dbbd53b7..7c23a5859a 100644
--- a/docs/wiz/Linux_Rider_Gui_Expecto_AzureDevOps.md
+++ b/docs/wiz/Linux_Rider_Gui_Expecto_AzureDevOps.md
@@ -19,8 +19,8 @@ Add the following packages to the test project:
```fsproj
-
-
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Gui_Expecto_GitHubActions.md b/docs/wiz/Linux_Rider_Gui_Expecto_GitHubActions.md
index 1648ceddbf..9123f83709 100644
--- a/docs/wiz/Linux_Rider_Gui_Expecto_GitHubActions.md
+++ b/docs/wiz/Linux_Rider_Gui_Expecto_GitHubActions.md
@@ -19,8 +19,8 @@ Add the following packages to the test project:
```fsproj
-
-
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Gui_Expecto_None.md b/docs/wiz/Linux_Rider_Gui_Expecto_None.md
index a7f64d88d4..1091fe0d4a 100644
--- a/docs/wiz/Linux_Rider_Gui_Expecto_None.md
+++ b/docs/wiz/Linux_Rider_Gui_Expecto_None.md
@@ -19,8 +19,8 @@ Add the following packages to the test project:
```fsproj
-
-
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Gui_Fixie_AppVeyor.md b/docs/wiz/Linux_Rider_Gui_Fixie_AppVeyor.md
index 1e51f58080..2bf6b6da52 100644
--- a/docs/wiz/Linux_Rider_Gui_Fixie_AppVeyor.md
+++ b/docs/wiz/Linux_Rider_Gui_Fixie_AppVeyor.md
@@ -18,7 +18,7 @@ Add the following packages to the test project:
```csproj
-
+
```
snippet source | anchor
@@ -35,9 +35,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +55,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +67,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## Rider Plugin
@@ -189,6 +208,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Linux_Rider_Gui_Fixie_AzureDevOps.md b/docs/wiz/Linux_Rider_Gui_Fixie_AzureDevOps.md
index 611b142fc1..ea9fafa534 100644
--- a/docs/wiz/Linux_Rider_Gui_Fixie_AzureDevOps.md
+++ b/docs/wiz/Linux_Rider_Gui_Fixie_AzureDevOps.md
@@ -18,7 +18,7 @@ Add the following packages to the test project:
```csproj
-
+
```
snippet source | anchor
@@ -35,9 +35,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +55,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +67,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## Rider Plugin
@@ -189,6 +208,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Linux_Rider_Gui_Fixie_GitHubActions.md b/docs/wiz/Linux_Rider_Gui_Fixie_GitHubActions.md
index 6a2cdf0252..21df4519d8 100644
--- a/docs/wiz/Linux_Rider_Gui_Fixie_GitHubActions.md
+++ b/docs/wiz/Linux_Rider_Gui_Fixie_GitHubActions.md
@@ -18,7 +18,7 @@ Add the following packages to the test project:
```csproj
-
+
```
snippet source | anchor
@@ -35,9 +35,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +55,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +67,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## Rider Plugin
@@ -189,6 +208,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Linux_Rider_Gui_Fixie_None.md b/docs/wiz/Linux_Rider_Gui_Fixie_None.md
index f1a3fd8977..ec5d5210e2 100644
--- a/docs/wiz/Linux_Rider_Gui_Fixie_None.md
+++ b/docs/wiz/Linux_Rider_Gui_Fixie_None.md
@@ -18,7 +18,7 @@ Add the following packages to the test project:
```csproj
-
+
```
snippet source | anchor
@@ -35,9 +35,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +55,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +67,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## Rider Plugin
@@ -189,6 +208,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Linux_Rider_Gui_MSTest_AppVeyor.md b/docs/wiz/Linux_Rider_Gui_MSTest_AppVeyor.md
index 09902c01bc..7bacc12326 100644
--- a/docs/wiz/Linux_Rider_Gui_MSTest_AppVeyor.md
+++ b/docs/wiz/Linux_Rider_Gui_MSTest_AppVeyor.md
@@ -17,10 +17,11 @@ Add the following packages to the test project:
```csproj
-
-
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -35,9 +36,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +56,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +68,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Gui_MSTest_AzureDevOps.md b/docs/wiz/Linux_Rider_Gui_MSTest_AzureDevOps.md
index 69396535bd..68e5a4409f 100644
--- a/docs/wiz/Linux_Rider_Gui_MSTest_AzureDevOps.md
+++ b/docs/wiz/Linux_Rider_Gui_MSTest_AzureDevOps.md
@@ -17,10 +17,11 @@ Add the following packages to the test project:
```csproj
-
-
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -35,9 +36,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +56,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +68,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Gui_MSTest_GitHubActions.md b/docs/wiz/Linux_Rider_Gui_MSTest_GitHubActions.md
index c6286c78ae..2d5a8a4c81 100644
--- a/docs/wiz/Linux_Rider_Gui_MSTest_GitHubActions.md
+++ b/docs/wiz/Linux_Rider_Gui_MSTest_GitHubActions.md
@@ -17,10 +17,11 @@ Add the following packages to the test project:
```csproj
-
-
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -35,9 +36,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +56,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +68,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Gui_MSTest_None.md b/docs/wiz/Linux_Rider_Gui_MSTest_None.md
index 86d58d98f8..f921321b5a 100644
--- a/docs/wiz/Linux_Rider_Gui_MSTest_None.md
+++ b/docs/wiz/Linux_Rider_Gui_MSTest_None.md
@@ -17,10 +17,11 @@ Add the following packages to the test project:
```csproj
-
-
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -35,9 +36,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +56,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +68,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Gui_NUnit_AppVeyor.md b/docs/wiz/Linux_Rider_Gui_NUnit_AppVeyor.md
index 8fc82cd3df..a9e23db197 100644
--- a/docs/wiz/Linux_Rider_Gui_NUnit_AppVeyor.md
+++ b/docs/wiz/Linux_Rider_Gui_NUnit_AppVeyor.md
@@ -17,11 +17,12 @@ Add the following packages to the test project:
```csproj
-
-
-
+
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -36,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -55,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -66,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Gui_NUnit_AzureDevOps.md b/docs/wiz/Linux_Rider_Gui_NUnit_AzureDevOps.md
index d4890c9565..eedf9121c3 100644
--- a/docs/wiz/Linux_Rider_Gui_NUnit_AzureDevOps.md
+++ b/docs/wiz/Linux_Rider_Gui_NUnit_AzureDevOps.md
@@ -17,11 +17,12 @@ Add the following packages to the test project:
```csproj
-
-
-
+
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -36,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -55,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -66,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Gui_NUnit_GitHubActions.md b/docs/wiz/Linux_Rider_Gui_NUnit_GitHubActions.md
index 1464dd6c48..faf25111af 100644
--- a/docs/wiz/Linux_Rider_Gui_NUnit_GitHubActions.md
+++ b/docs/wiz/Linux_Rider_Gui_NUnit_GitHubActions.md
@@ -17,11 +17,12 @@ Add the following packages to the test project:
```csproj
-
-
-
+
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -36,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -55,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -66,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Gui_NUnit_None.md b/docs/wiz/Linux_Rider_Gui_NUnit_None.md
index bbce289f49..00cde606b3 100644
--- a/docs/wiz/Linux_Rider_Gui_NUnit_None.md
+++ b/docs/wiz/Linux_Rider_Gui_NUnit_None.md
@@ -17,11 +17,12 @@ Add the following packages to the test project:
```csproj
-
-
-
+
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -36,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -55,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -66,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Gui_TUnit.md b/docs/wiz/Linux_Rider_Gui_TUnit.md
new file mode 100644
index 0000000000..b041dba7ae
--- /dev/null
+++ b/docs/wiz/Linux_Rider_Gui_TUnit.md
@@ -0,0 +1,18 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer GUI](Linux_Rider_Gui.md) > [TUnit](Linux_Rider_Gui_TUnit.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Linux_Rider_Gui_TUnit_AppVeyor.md)
+ * [GitHub Actions](Linux_Rider_Gui_TUnit_GitHubActions.md)
+ * [Azure DevOps](Linux_Rider_Gui_TUnit_AzureDevOps.md)
+ * [No build server](Linux_Rider_Gui_TUnit_None.md)
diff --git a/docs/wiz/Linux_Rider_Gui_TUnit_AppVeyor.md b/docs/wiz/Linux_Rider_Gui_TUnit_AppVeyor.md
new file mode 100644
index 0000000000..89c6d71759
--- /dev/null
+++ b/docs/wiz/Linux_Rider_Gui_TUnit_AppVeyor.md
@@ -0,0 +1,236 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer GUI](Linux_Rider_Gui.md) > [TUnit](Linux_Rider_Gui_TUnit.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+Use a [on_failure build step](https://www.appveyor.com/docs/build-configuration/#build-pipeline) to call [Push-AppveyorArtifact](https://www.appveyor.com/docs/build-worker-api/#push-artifact).
+
+```
+on_failure:
+ - ps: Get-ChildItem *.received.* -recurse | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
+```
+
+See also [Pushing artifacts from scripts](https://www.appveyor.com/docs/packaging-artifacts/#pushing-artifacts-from-scripts).
+
diff --git a/docs/wiz/Linux_Rider_Gui_TUnit_AzureDevOps.md b/docs/wiz/Linux_Rider_Gui_TUnit_AzureDevOps.md
new file mode 100644
index 0000000000..57d363429a
--- /dev/null
+++ b/docs/wiz/Linux_Rider_Gui_TUnit_AzureDevOps.md
@@ -0,0 +1,264 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer GUI](Linux_Rider_Gui.md) > [TUnit](Linux_Rider_Gui_TUnit.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+Directly after the test runner step add a build step to set a flag if the testrunner failed. This is done by using a [failed condition](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml). This flag will be evaluated in the CopyFiles and PublishBuildArtifacts steps below.
+
+```yaml
+- task: CmdLine@2
+ displayName: 'Set flag to publish Verify *.received.* files when test step fails'
+ condition: failed()
+ inputs:
+ script: 'echo ##vso[task.setvariable variable=publishverify]Yes'
+```
+
+Since the PublishBuildArtifacts step in DevOps does not allow a wildcard it is necessary to stage the 'received' files before publishing:
+
+```yaml
+- task: CopyFiles@2
+ condition: eq(variables['publishverify'], 'Yes')
+ displayName: 'Copy Verify *.received.* files to Artifact Staging'
+ inputs:
+ contents: '**\*.received.*'
+ targetFolder: '$(Build.ArtifactStagingDirectory)\Verify'
+ cleanTargetFolder: true
+ overWrite: true
+```
+
+Publish the staged files as a build artifact:
+
+```yaml
+- task: PublishBuildArtifacts@1
+ displayName: 'Publish Verify *.received.* files as Artifacts'
+ name: 'verifypublish'
+ condition: eq(variables['publishverify'], 'Yes')
+ inputs:
+ PathtoPublish: '$(Build.ArtifactStagingDirectory)\Verify'
+ ArtifactName: 'Verify'
+ publishLocation: 'Container'
+```
+
+
diff --git a/docs/wiz/Linux_Rider_Gui_TUnit_GitHubActions.md b/docs/wiz/Linux_Rider_Gui_TUnit_GitHubActions.md
new file mode 100644
index 0000000000..178991431b
--- /dev/null
+++ b/docs/wiz/Linux_Rider_Gui_TUnit_GitHubActions.md
@@ -0,0 +1,240 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer GUI](Linux_Rider_Gui.md) > [TUnit](Linux_Rider_Gui_TUnit.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+Use a [if: failure()](https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#failure) condition to upload any `*.received.*` files if the build fails.
+
+```yaml
+- name: Upload Test Results
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: verify-test-results
+ path: |
+ **/*.received.*
+```
+
+
diff --git a/docs/wiz/Linux_Rider_Gui_TUnit_None.md b/docs/wiz/Linux_Rider_Gui_TUnit_None.md
new file mode 100644
index 0000000000..5615226a2c
--- /dev/null
+++ b/docs/wiz/Linux_Rider_Gui_TUnit_None.md
@@ -0,0 +1,225 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer GUI](Linux_Rider_Gui.md) > [TUnit](Linux_Rider_Gui_TUnit.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/wiz/Linux_Rider_Gui_XunitV3.md b/docs/wiz/Linux_Rider_Gui_XunitV3.md
new file mode 100644
index 0000000000..28729c9a25
--- /dev/null
+++ b/docs/wiz/Linux_Rider_Gui_XunitV3.md
@@ -0,0 +1,18 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer GUI](Linux_Rider_Gui.md) > [XunitV3](Linux_Rider_Gui_XunitV3.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Linux_Rider_Gui_XunitV3_AppVeyor.md)
+ * [GitHub Actions](Linux_Rider_Gui_XunitV3_GitHubActions.md)
+ * [Azure DevOps](Linux_Rider_Gui_XunitV3_AzureDevOps.md)
+ * [No build server](Linux_Rider_Gui_XunitV3_None.md)
diff --git a/docs/wiz/Linux_Rider_Gui_XunitV3_AppVeyor.md b/docs/wiz/Linux_Rider_Gui_XunitV3_AppVeyor.md
new file mode 100644
index 0000000000..861e7fc7c5
--- /dev/null
+++ b/docs/wiz/Linux_Rider_Gui_XunitV3_AppVeyor.md
@@ -0,0 +1,237 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer GUI](Linux_Rider_Gui.md) > [XunitV3](Linux_Rider_Gui_XunitV3.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+Use a [on_failure build step](https://www.appveyor.com/docs/build-configuration/#build-pipeline) to call [Push-AppveyorArtifact](https://www.appveyor.com/docs/build-worker-api/#push-artifact).
+
+```
+on_failure:
+ - ps: Get-ChildItem *.received.* -recurse | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
+```
+
+See also [Pushing artifacts from scripts](https://www.appveyor.com/docs/packaging-artifacts/#pushing-artifacts-from-scripts).
+
diff --git a/docs/wiz/Linux_Rider_Gui_XunitV3_AzureDevOps.md b/docs/wiz/Linux_Rider_Gui_XunitV3_AzureDevOps.md
new file mode 100644
index 0000000000..b645fb5f4a
--- /dev/null
+++ b/docs/wiz/Linux_Rider_Gui_XunitV3_AzureDevOps.md
@@ -0,0 +1,265 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer GUI](Linux_Rider_Gui.md) > [XunitV3](Linux_Rider_Gui_XunitV3.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+Directly after the test runner step add a build step to set a flag if the testrunner failed. This is done by using a [failed condition](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml). This flag will be evaluated in the CopyFiles and PublishBuildArtifacts steps below.
+
+```yaml
+- task: CmdLine@2
+ displayName: 'Set flag to publish Verify *.received.* files when test step fails'
+ condition: failed()
+ inputs:
+ script: 'echo ##vso[task.setvariable variable=publishverify]Yes'
+```
+
+Since the PublishBuildArtifacts step in DevOps does not allow a wildcard it is necessary to stage the 'received' files before publishing:
+
+```yaml
+- task: CopyFiles@2
+ condition: eq(variables['publishverify'], 'Yes')
+ displayName: 'Copy Verify *.received.* files to Artifact Staging'
+ inputs:
+ contents: '**\*.received.*'
+ targetFolder: '$(Build.ArtifactStagingDirectory)\Verify'
+ cleanTargetFolder: true
+ overWrite: true
+```
+
+Publish the staged files as a build artifact:
+
+```yaml
+- task: PublishBuildArtifacts@1
+ displayName: 'Publish Verify *.received.* files as Artifacts'
+ name: 'verifypublish'
+ condition: eq(variables['publishverify'], 'Yes')
+ inputs:
+ PathtoPublish: '$(Build.ArtifactStagingDirectory)\Verify'
+ ArtifactName: 'Verify'
+ publishLocation: 'Container'
+```
+
+
diff --git a/docs/wiz/Linux_Rider_Gui_XunitV3_GitHubActions.md b/docs/wiz/Linux_Rider_Gui_XunitV3_GitHubActions.md
new file mode 100644
index 0000000000..77f80de00b
--- /dev/null
+++ b/docs/wiz/Linux_Rider_Gui_XunitV3_GitHubActions.md
@@ -0,0 +1,241 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer GUI](Linux_Rider_Gui.md) > [XunitV3](Linux_Rider_Gui_XunitV3.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+Use a [if: failure()](https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#failure) condition to upload any `*.received.*` files if the build fails.
+
+```yaml
+- name: Upload Test Results
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: verify-test-results
+ path: |
+ **/*.received.*
+```
+
+
diff --git a/docs/wiz/Linux_Rider_Gui_XunitV3_None.md b/docs/wiz/Linux_Rider_Gui_XunitV3_None.md
new file mode 100644
index 0000000000..2d9736c542
--- /dev/null
+++ b/docs/wiz/Linux_Rider_Gui_XunitV3_None.md
@@ -0,0 +1,226 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Linux](Linux.md) > [JetBrains Rider](Linux_Rider.md) > [Prefer GUI](Linux_Rider_Gui.md) > [XunitV3](Linux_Rider_Gui_XunitV3.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Linux:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/wiz/Linux_Rider_Gui_Xunit_AppVeyor.md b/docs/wiz/Linux_Rider_Gui_Xunit_AppVeyor.md
index dfa892ade4..9c3d233091 100644
--- a/docs/wiz/Linux_Rider_Gui_Xunit_AppVeyor.md
+++ b/docs/wiz/Linux_Rider_Gui_Xunit_AppVeyor.md
@@ -17,10 +17,10 @@ Add the following packages to the test project:
```csproj
-
-
-
-
+
+
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Gui_Xunit_AzureDevOps.md b/docs/wiz/Linux_Rider_Gui_Xunit_AzureDevOps.md
index b3912cd748..4269f0a33f 100644
--- a/docs/wiz/Linux_Rider_Gui_Xunit_AzureDevOps.md
+++ b/docs/wiz/Linux_Rider_Gui_Xunit_AzureDevOps.md
@@ -17,10 +17,10 @@ Add the following packages to the test project:
```csproj
-
-
-
-
+
+
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Gui_Xunit_GitHubActions.md b/docs/wiz/Linux_Rider_Gui_Xunit_GitHubActions.md
index 2280b26e11..e9d094eaa1 100644
--- a/docs/wiz/Linux_Rider_Gui_Xunit_GitHubActions.md
+++ b/docs/wiz/Linux_Rider_Gui_Xunit_GitHubActions.md
@@ -17,10 +17,10 @@ Add the following packages to the test project:
```csproj
-
-
-
-
+
+
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Linux_Rider_Gui_Xunit_None.md b/docs/wiz/Linux_Rider_Gui_Xunit_None.md
index 11d6e203af..46a240b6d0 100644
--- a/docs/wiz/Linux_Rider_Gui_Xunit_None.md
+++ b/docs/wiz/Linux_Rider_Gui_Xunit_None.md
@@ -17,10 +17,10 @@ Add the following packages to the test project:
```csproj
-
-
-
-
+
+
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Other_Cli.md b/docs/wiz/MacOS_Other_Cli.md
index 353c71de02..4563996c54 100644
--- a/docs/wiz/MacOS_Other_Cli.md
+++ b/docs/wiz/MacOS_Other_Cli.md
@@ -13,7 +13,9 @@ To change this file edit the source file and then run MarkdownSnippets.
Options:
* [Xunit](MacOS_Other_Cli_Xunit.md)
+ * [XunitV3](MacOS_Other_Cli_XunitV3.md)
* [NUnit](MacOS_Other_Cli_NUnit.md)
+ * [TUnit](MacOS_Other_Cli_TUnit.md)
* [Fixie](MacOS_Other_Cli_Fixie.md)
* [MSTest](MacOS_Other_Cli_MSTest.md)
* [Expecto](MacOS_Other_Cli_Expecto.md)
diff --git a/docs/wiz/MacOS_Other_Cli_Expecto_AppVeyor.md b/docs/wiz/MacOS_Other_Cli_Expecto_AppVeyor.md
index 0560ef01ac..f5de77d322 100644
--- a/docs/wiz/MacOS_Other_Cli_Expecto_AppVeyor.md
+++ b/docs/wiz/MacOS_Other_Cli_Expecto_AppVeyor.md
@@ -30,9 +30,10 @@ dotnet add package Verify.Expecto
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -49,6 +50,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -60,7 +62,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Cli_Expecto_AzureDevOps.md b/docs/wiz/MacOS_Other_Cli_Expecto_AzureDevOps.md
index 838f4c4c4c..01d9c57e4a 100644
--- a/docs/wiz/MacOS_Other_Cli_Expecto_AzureDevOps.md
+++ b/docs/wiz/MacOS_Other_Cli_Expecto_AzureDevOps.md
@@ -30,9 +30,10 @@ dotnet add package Verify.Expecto
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -49,6 +50,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -60,7 +62,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Cli_Expecto_GitHubActions.md b/docs/wiz/MacOS_Other_Cli_Expecto_GitHubActions.md
index 715cd7497b..fdf16b9954 100644
--- a/docs/wiz/MacOS_Other_Cli_Expecto_GitHubActions.md
+++ b/docs/wiz/MacOS_Other_Cli_Expecto_GitHubActions.md
@@ -30,9 +30,10 @@ dotnet add package Verify.Expecto
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -49,6 +50,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -60,7 +62,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Cli_Expecto_None.md b/docs/wiz/MacOS_Other_Cli_Expecto_None.md
index 4d11db7def..cbdd9f7d40 100644
--- a/docs/wiz/MacOS_Other_Cli_Expecto_None.md
+++ b/docs/wiz/MacOS_Other_Cli_Expecto_None.md
@@ -30,9 +30,10 @@ dotnet add package Verify.Expecto
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -49,6 +50,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -60,7 +62,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Cli_Fixie_AppVeyor.md b/docs/wiz/MacOS_Other_Cli_Fixie_AppVeyor.md
index 2b2788deb9..260d4c59aa 100644
--- a/docs/wiz/MacOS_Other_Cli_Fixie_AppVeyor.md
+++ b/docs/wiz/MacOS_Other_Cli_Fixie_AppVeyor.md
@@ -29,9 +29,10 @@ dotnet add package Verify.Fixie
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -48,6 +49,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -59,7 +61,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffPlex
@@ -146,6 +165,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/MacOS_Other_Cli_Fixie_AzureDevOps.md b/docs/wiz/MacOS_Other_Cli_Fixie_AzureDevOps.md
index d8c9da8702..7726e8a502 100644
--- a/docs/wiz/MacOS_Other_Cli_Fixie_AzureDevOps.md
+++ b/docs/wiz/MacOS_Other_Cli_Fixie_AzureDevOps.md
@@ -29,9 +29,10 @@ dotnet add package Verify.Fixie
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -48,6 +49,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -59,7 +61,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffPlex
@@ -146,6 +165,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/MacOS_Other_Cli_Fixie_GitHubActions.md b/docs/wiz/MacOS_Other_Cli_Fixie_GitHubActions.md
index eef70df22a..d66dd80a15 100644
--- a/docs/wiz/MacOS_Other_Cli_Fixie_GitHubActions.md
+++ b/docs/wiz/MacOS_Other_Cli_Fixie_GitHubActions.md
@@ -29,9 +29,10 @@ dotnet add package Verify.Fixie
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -48,6 +49,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -59,7 +61,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffPlex
@@ -146,6 +165,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/MacOS_Other_Cli_Fixie_None.md b/docs/wiz/MacOS_Other_Cli_Fixie_None.md
index 16babd231c..04c58165dd 100644
--- a/docs/wiz/MacOS_Other_Cli_Fixie_None.md
+++ b/docs/wiz/MacOS_Other_Cli_Fixie_None.md
@@ -29,9 +29,10 @@ dotnet add package Verify.Fixie
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -48,6 +49,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -59,7 +61,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffPlex
@@ -146,6 +165,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/MacOS_Other_Cli_MSTest_AppVeyor.md b/docs/wiz/MacOS_Other_Cli_MSTest_AppVeyor.md
index ae22e9fdb7..855e25385f 100644
--- a/docs/wiz/MacOS_Other_Cli_MSTest_AppVeyor.md
+++ b/docs/wiz/MacOS_Other_Cli_MSTest_AppVeyor.md
@@ -31,9 +31,10 @@ dotnet add package Verify.MSTest
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Cli_MSTest_AzureDevOps.md b/docs/wiz/MacOS_Other_Cli_MSTest_AzureDevOps.md
index bd85995660..64fb95fde5 100644
--- a/docs/wiz/MacOS_Other_Cli_MSTest_AzureDevOps.md
+++ b/docs/wiz/MacOS_Other_Cli_MSTest_AzureDevOps.md
@@ -31,9 +31,10 @@ dotnet add package Verify.MSTest
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Cli_MSTest_GitHubActions.md b/docs/wiz/MacOS_Other_Cli_MSTest_GitHubActions.md
index 0599b7cb4a..a880d36fe8 100644
--- a/docs/wiz/MacOS_Other_Cli_MSTest_GitHubActions.md
+++ b/docs/wiz/MacOS_Other_Cli_MSTest_GitHubActions.md
@@ -31,9 +31,10 @@ dotnet add package Verify.MSTest
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Cli_MSTest_None.md b/docs/wiz/MacOS_Other_Cli_MSTest_None.md
index 37a4bcce1f..cf0fa9711c 100644
--- a/docs/wiz/MacOS_Other_Cli_MSTest_None.md
+++ b/docs/wiz/MacOS_Other_Cli_MSTest_None.md
@@ -31,9 +31,10 @@ dotnet add package Verify.MSTest
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Cli_NUnit_AppVeyor.md b/docs/wiz/MacOS_Other_Cli_NUnit_AppVeyor.md
index 4bea623146..f97d0bd69c 100644
--- a/docs/wiz/MacOS_Other_Cli_NUnit_AppVeyor.md
+++ b/docs/wiz/MacOS_Other_Cli_NUnit_AppVeyor.md
@@ -31,9 +31,10 @@ dotnet add package Verify.NUnit
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Cli_NUnit_AzureDevOps.md b/docs/wiz/MacOS_Other_Cli_NUnit_AzureDevOps.md
index f6bebbce63..72afe4f915 100644
--- a/docs/wiz/MacOS_Other_Cli_NUnit_AzureDevOps.md
+++ b/docs/wiz/MacOS_Other_Cli_NUnit_AzureDevOps.md
@@ -31,9 +31,10 @@ dotnet add package Verify.NUnit
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Cli_NUnit_GitHubActions.md b/docs/wiz/MacOS_Other_Cli_NUnit_GitHubActions.md
index 51e115fdff..b1cedc1667 100644
--- a/docs/wiz/MacOS_Other_Cli_NUnit_GitHubActions.md
+++ b/docs/wiz/MacOS_Other_Cli_NUnit_GitHubActions.md
@@ -31,9 +31,10 @@ dotnet add package Verify.NUnit
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Cli_NUnit_None.md b/docs/wiz/MacOS_Other_Cli_NUnit_None.md
index 60e82befb6..0cdc88a6ec 100644
--- a/docs/wiz/MacOS_Other_Cli_NUnit_None.md
+++ b/docs/wiz/MacOS_Other_Cli_NUnit_None.md
@@ -31,9 +31,10 @@ dotnet add package Verify.NUnit
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Cli_TUnit.md b/docs/wiz/MacOS_Other_Cli_TUnit.md
new file mode 100644
index 0000000000..2ddba7c3b2
--- /dev/null
+++ b/docs/wiz/MacOS_Other_Cli_TUnit.md
@@ -0,0 +1,18 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer CLI](MacOS_Other_Cli.md) > [TUnit](MacOS_Other_Cli_TUnit.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](MacOS_Other_Cli_TUnit_AppVeyor.md)
+ * [GitHub Actions](MacOS_Other_Cli_TUnit_GitHubActions.md)
+ * [Azure DevOps](MacOS_Other_Cli_TUnit_AzureDevOps.md)
+ * [No build server](MacOS_Other_Cli_TUnit_None.md)
diff --git a/docs/wiz/MacOS_Other_Cli_TUnit_AppVeyor.md b/docs/wiz/MacOS_Other_Cli_TUnit_AppVeyor.md
new file mode 100644
index 0000000000..770e0a1007
--- /dev/null
+++ b/docs/wiz/MacOS_Other_Cli_TUnit_AppVeyor.md
@@ -0,0 +1,199 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer CLI](MacOS_Other_Cli.md) > [TUnit](MacOS_Other_Cli_TUnit.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+Use a [on_failure build step](https://www.appveyor.com/docs/build-configuration/#build-pipeline) to call [Push-AppveyorArtifact](https://www.appveyor.com/docs/build-worker-api/#push-artifact).
+
+```
+on_failure:
+ - ps: Get-ChildItem *.received.* -recurse | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
+```
+
+See also [Pushing artifacts from scripts](https://www.appveyor.com/docs/packaging-artifacts/#pushing-artifacts-from-scripts).
+
diff --git a/docs/wiz/MacOS_Other_Cli_TUnit_AzureDevOps.md b/docs/wiz/MacOS_Other_Cli_TUnit_AzureDevOps.md
new file mode 100644
index 0000000000..223a54e443
--- /dev/null
+++ b/docs/wiz/MacOS_Other_Cli_TUnit_AzureDevOps.md
@@ -0,0 +1,227 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer CLI](MacOS_Other_Cli.md) > [TUnit](MacOS_Other_Cli_TUnit.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+Directly after the test runner step add a build step to set a flag if the testrunner failed. This is done by using a [failed condition](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml). This flag will be evaluated in the CopyFiles and PublishBuildArtifacts steps below.
+
+```yaml
+- task: CmdLine@2
+ displayName: 'Set flag to publish Verify *.received.* files when test step fails'
+ condition: failed()
+ inputs:
+ script: 'echo ##vso[task.setvariable variable=publishverify]Yes'
+```
+
+Since the PublishBuildArtifacts step in DevOps does not allow a wildcard it is necessary to stage the 'received' files before publishing:
+
+```yaml
+- task: CopyFiles@2
+ condition: eq(variables['publishverify'], 'Yes')
+ displayName: 'Copy Verify *.received.* files to Artifact Staging'
+ inputs:
+ contents: '**\*.received.*'
+ targetFolder: '$(Build.ArtifactStagingDirectory)\Verify'
+ cleanTargetFolder: true
+ overWrite: true
+```
+
+Publish the staged files as a build artifact:
+
+```yaml
+- task: PublishBuildArtifacts@1
+ displayName: 'Publish Verify *.received.* files as Artifacts'
+ name: 'verifypublish'
+ condition: eq(variables['publishverify'], 'Yes')
+ inputs:
+ PathtoPublish: '$(Build.ArtifactStagingDirectory)\Verify'
+ ArtifactName: 'Verify'
+ publishLocation: 'Container'
+```
+
+
diff --git a/docs/wiz/MacOS_Other_Cli_TUnit_GitHubActions.md b/docs/wiz/MacOS_Other_Cli_TUnit_GitHubActions.md
new file mode 100644
index 0000000000..28a40922f9
--- /dev/null
+++ b/docs/wiz/MacOS_Other_Cli_TUnit_GitHubActions.md
@@ -0,0 +1,203 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer CLI](MacOS_Other_Cli.md) > [TUnit](MacOS_Other_Cli_TUnit.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+Use a [if: failure()](https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#failure) condition to upload any `*.received.*` files if the build fails.
+
+```yaml
+- name: Upload Test Results
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: verify-test-results
+ path: |
+ **/*.received.*
+```
+
+
diff --git a/docs/wiz/MacOS_Other_Cli_TUnit_None.md b/docs/wiz/MacOS_Other_Cli_TUnit_None.md
new file mode 100644
index 0000000000..04f2e090ab
--- /dev/null
+++ b/docs/wiz/MacOS_Other_Cli_TUnit_None.md
@@ -0,0 +1,188 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer CLI](MacOS_Other_Cli.md) > [TUnit](MacOS_Other_Cli_TUnit.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/wiz/MacOS_Other_Cli_XunitV3.md b/docs/wiz/MacOS_Other_Cli_XunitV3.md
new file mode 100644
index 0000000000..ec7096ebd3
--- /dev/null
+++ b/docs/wiz/MacOS_Other_Cli_XunitV3.md
@@ -0,0 +1,18 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer CLI](MacOS_Other_Cli.md) > [XunitV3](MacOS_Other_Cli_XunitV3.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](MacOS_Other_Cli_XunitV3_AppVeyor.md)
+ * [GitHub Actions](MacOS_Other_Cli_XunitV3_GitHubActions.md)
+ * [Azure DevOps](MacOS_Other_Cli_XunitV3_AzureDevOps.md)
+ * [No build server](MacOS_Other_Cli_XunitV3_None.md)
diff --git a/docs/wiz/MacOS_Other_Cli_XunitV3_AppVeyor.md b/docs/wiz/MacOS_Other_Cli_XunitV3_AppVeyor.md
new file mode 100644
index 0000000000..08548f584c
--- /dev/null
+++ b/docs/wiz/MacOS_Other_Cli_XunitV3_AppVeyor.md
@@ -0,0 +1,200 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer CLI](MacOS_Other_Cli.md) > [XunitV3](MacOS_Other_Cli_XunitV3.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+Use a [on_failure build step](https://www.appveyor.com/docs/build-configuration/#build-pipeline) to call [Push-AppveyorArtifact](https://www.appveyor.com/docs/build-worker-api/#push-artifact).
+
+```
+on_failure:
+ - ps: Get-ChildItem *.received.* -recurse | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
+```
+
+See also [Pushing artifacts from scripts](https://www.appveyor.com/docs/packaging-artifacts/#pushing-artifacts-from-scripts).
+
diff --git a/docs/wiz/MacOS_Other_Cli_XunitV3_AzureDevOps.md b/docs/wiz/MacOS_Other_Cli_XunitV3_AzureDevOps.md
new file mode 100644
index 0000000000..a70e647b11
--- /dev/null
+++ b/docs/wiz/MacOS_Other_Cli_XunitV3_AzureDevOps.md
@@ -0,0 +1,228 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer CLI](MacOS_Other_Cli.md) > [XunitV3](MacOS_Other_Cli_XunitV3.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+Directly after the test runner step add a build step to set a flag if the testrunner failed. This is done by using a [failed condition](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml). This flag will be evaluated in the CopyFiles and PublishBuildArtifacts steps below.
+
+```yaml
+- task: CmdLine@2
+ displayName: 'Set flag to publish Verify *.received.* files when test step fails'
+ condition: failed()
+ inputs:
+ script: 'echo ##vso[task.setvariable variable=publishverify]Yes'
+```
+
+Since the PublishBuildArtifacts step in DevOps does not allow a wildcard it is necessary to stage the 'received' files before publishing:
+
+```yaml
+- task: CopyFiles@2
+ condition: eq(variables['publishverify'], 'Yes')
+ displayName: 'Copy Verify *.received.* files to Artifact Staging'
+ inputs:
+ contents: '**\*.received.*'
+ targetFolder: '$(Build.ArtifactStagingDirectory)\Verify'
+ cleanTargetFolder: true
+ overWrite: true
+```
+
+Publish the staged files as a build artifact:
+
+```yaml
+- task: PublishBuildArtifacts@1
+ displayName: 'Publish Verify *.received.* files as Artifacts'
+ name: 'verifypublish'
+ condition: eq(variables['publishverify'], 'Yes')
+ inputs:
+ PathtoPublish: '$(Build.ArtifactStagingDirectory)\Verify'
+ ArtifactName: 'Verify'
+ publishLocation: 'Container'
+```
+
+
diff --git a/docs/wiz/MacOS_Other_Cli_XunitV3_GitHubActions.md b/docs/wiz/MacOS_Other_Cli_XunitV3_GitHubActions.md
new file mode 100644
index 0000000000..73ea77d789
--- /dev/null
+++ b/docs/wiz/MacOS_Other_Cli_XunitV3_GitHubActions.md
@@ -0,0 +1,204 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer CLI](MacOS_Other_Cli.md) > [XunitV3](MacOS_Other_Cli_XunitV3.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+Use a [if: failure()](https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#failure) condition to upload any `*.received.*` files if the build fails.
+
+```yaml
+- name: Upload Test Results
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: verify-test-results
+ path: |
+ **/*.received.*
+```
+
+
diff --git a/docs/wiz/MacOS_Other_Cli_XunitV3_None.md b/docs/wiz/MacOS_Other_Cli_XunitV3_None.md
new file mode 100644
index 0000000000..7febf690b0
--- /dev/null
+++ b/docs/wiz/MacOS_Other_Cli_XunitV3_None.md
@@ -0,0 +1,189 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer CLI](MacOS_Other_Cli.md) > [XunitV3](MacOS_Other_Cli_XunitV3.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/wiz/MacOS_Other_Cli_Xunit_AppVeyor.md b/docs/wiz/MacOS_Other_Cli_Xunit_AppVeyor.md
index cca21e9a36..f4a00d9a8f 100644
--- a/docs/wiz/MacOS_Other_Cli_Xunit_AppVeyor.md
+++ b/docs/wiz/MacOS_Other_Cli_Xunit_AppVeyor.md
@@ -31,9 +31,10 @@ dotnet add package xunit.runner.visualstudio
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Cli_Xunit_AzureDevOps.md b/docs/wiz/MacOS_Other_Cli_Xunit_AzureDevOps.md
index fb123724d5..7dde2c5862 100644
--- a/docs/wiz/MacOS_Other_Cli_Xunit_AzureDevOps.md
+++ b/docs/wiz/MacOS_Other_Cli_Xunit_AzureDevOps.md
@@ -31,9 +31,10 @@ dotnet add package xunit.runner.visualstudio
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Cli_Xunit_GitHubActions.md b/docs/wiz/MacOS_Other_Cli_Xunit_GitHubActions.md
index 42c03d7bfb..86cb590020 100644
--- a/docs/wiz/MacOS_Other_Cli_Xunit_GitHubActions.md
+++ b/docs/wiz/MacOS_Other_Cli_Xunit_GitHubActions.md
@@ -31,9 +31,10 @@ dotnet add package xunit.runner.visualstudio
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Cli_Xunit_None.md b/docs/wiz/MacOS_Other_Cli_Xunit_None.md
index 96ebb55f11..a22af85c3d 100644
--- a/docs/wiz/MacOS_Other_Cli_Xunit_None.md
+++ b/docs/wiz/MacOS_Other_Cli_Xunit_None.md
@@ -31,9 +31,10 @@ dotnet add package xunit.runner.visualstudio
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Gui.md b/docs/wiz/MacOS_Other_Gui.md
index 45083c2bdb..4706f36814 100644
--- a/docs/wiz/MacOS_Other_Gui.md
+++ b/docs/wiz/MacOS_Other_Gui.md
@@ -13,7 +13,9 @@ To change this file edit the source file and then run MarkdownSnippets.
Options:
* [Xunit](MacOS_Other_Gui_Xunit.md)
+ * [XunitV3](MacOS_Other_Gui_XunitV3.md)
* [NUnit](MacOS_Other_Gui_NUnit.md)
+ * [TUnit](MacOS_Other_Gui_TUnit.md)
* [Fixie](MacOS_Other_Gui_Fixie.md)
* [MSTest](MacOS_Other_Gui_MSTest.md)
* [Expecto](MacOS_Other_Gui_Expecto.md)
diff --git a/docs/wiz/MacOS_Other_Gui_Expecto_AppVeyor.md b/docs/wiz/MacOS_Other_Gui_Expecto_AppVeyor.md
index 57c2a49ef7..a2001ed6bc 100644
--- a/docs/wiz/MacOS_Other_Gui_Expecto_AppVeyor.md
+++ b/docs/wiz/MacOS_Other_Gui_Expecto_AppVeyor.md
@@ -19,8 +19,8 @@ Add the following packages to the test project:
```fsproj
-
-
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Gui_Expecto_AzureDevOps.md b/docs/wiz/MacOS_Other_Gui_Expecto_AzureDevOps.md
index 3eed36a233..6896155781 100644
--- a/docs/wiz/MacOS_Other_Gui_Expecto_AzureDevOps.md
+++ b/docs/wiz/MacOS_Other_Gui_Expecto_AzureDevOps.md
@@ -19,8 +19,8 @@ Add the following packages to the test project:
```fsproj
-
-
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Gui_Expecto_GitHubActions.md b/docs/wiz/MacOS_Other_Gui_Expecto_GitHubActions.md
index 6b3aade04c..3d4cb8d39c 100644
--- a/docs/wiz/MacOS_Other_Gui_Expecto_GitHubActions.md
+++ b/docs/wiz/MacOS_Other_Gui_Expecto_GitHubActions.md
@@ -19,8 +19,8 @@ Add the following packages to the test project:
```fsproj
-
-
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Gui_Expecto_None.md b/docs/wiz/MacOS_Other_Gui_Expecto_None.md
index 2eb42d3c68..33f739c20e 100644
--- a/docs/wiz/MacOS_Other_Gui_Expecto_None.md
+++ b/docs/wiz/MacOS_Other_Gui_Expecto_None.md
@@ -19,8 +19,8 @@ Add the following packages to the test project:
```fsproj
-
-
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Gui_Fixie_AppVeyor.md b/docs/wiz/MacOS_Other_Gui_Fixie_AppVeyor.md
index c96919e085..71568b2e74 100644
--- a/docs/wiz/MacOS_Other_Gui_Fixie_AppVeyor.md
+++ b/docs/wiz/MacOS_Other_Gui_Fixie_AppVeyor.md
@@ -18,7 +18,7 @@ Add the following packages to the test project:
```csproj
-
+
```
snippet source | anchor
@@ -35,9 +35,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +55,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +67,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffPlex
@@ -140,6 +159,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/MacOS_Other_Gui_Fixie_AzureDevOps.md b/docs/wiz/MacOS_Other_Gui_Fixie_AzureDevOps.md
index 34e70ee42b..675d1e384e 100644
--- a/docs/wiz/MacOS_Other_Gui_Fixie_AzureDevOps.md
+++ b/docs/wiz/MacOS_Other_Gui_Fixie_AzureDevOps.md
@@ -18,7 +18,7 @@ Add the following packages to the test project:
```csproj
-
+
```
snippet source | anchor
@@ -35,9 +35,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +55,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +67,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffPlex
@@ -140,6 +159,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/MacOS_Other_Gui_Fixie_GitHubActions.md b/docs/wiz/MacOS_Other_Gui_Fixie_GitHubActions.md
index c4d988c1aa..a330a302de 100644
--- a/docs/wiz/MacOS_Other_Gui_Fixie_GitHubActions.md
+++ b/docs/wiz/MacOS_Other_Gui_Fixie_GitHubActions.md
@@ -18,7 +18,7 @@ Add the following packages to the test project:
```csproj
-
+
```
snippet source | anchor
@@ -35,9 +35,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +55,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +67,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffPlex
@@ -140,6 +159,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/MacOS_Other_Gui_Fixie_None.md b/docs/wiz/MacOS_Other_Gui_Fixie_None.md
index 12aed55a74..6802f2ede0 100644
--- a/docs/wiz/MacOS_Other_Gui_Fixie_None.md
+++ b/docs/wiz/MacOS_Other_Gui_Fixie_None.md
@@ -18,7 +18,7 @@ Add the following packages to the test project:
```csproj
-
+
```
snippet source | anchor
@@ -35,9 +35,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +55,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +67,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffPlex
@@ -140,6 +159,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/MacOS_Other_Gui_MSTest_AppVeyor.md b/docs/wiz/MacOS_Other_Gui_MSTest_AppVeyor.md
index 5355a4ed1d..79d24ff728 100644
--- a/docs/wiz/MacOS_Other_Gui_MSTest_AppVeyor.md
+++ b/docs/wiz/MacOS_Other_Gui_MSTest_AppVeyor.md
@@ -17,10 +17,11 @@ Add the following packages to the test project:
```csproj
-
-
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -35,9 +36,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +56,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +68,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Gui_MSTest_AzureDevOps.md b/docs/wiz/MacOS_Other_Gui_MSTest_AzureDevOps.md
index 79698b206f..e32d9f728f 100644
--- a/docs/wiz/MacOS_Other_Gui_MSTest_AzureDevOps.md
+++ b/docs/wiz/MacOS_Other_Gui_MSTest_AzureDevOps.md
@@ -17,10 +17,11 @@ Add the following packages to the test project:
```csproj
-
-
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -35,9 +36,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +56,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +68,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Gui_MSTest_GitHubActions.md b/docs/wiz/MacOS_Other_Gui_MSTest_GitHubActions.md
index bb9ce1187b..18413412b5 100644
--- a/docs/wiz/MacOS_Other_Gui_MSTest_GitHubActions.md
+++ b/docs/wiz/MacOS_Other_Gui_MSTest_GitHubActions.md
@@ -17,10 +17,11 @@ Add the following packages to the test project:
```csproj
-
-
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -35,9 +36,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +56,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +68,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Gui_MSTest_None.md b/docs/wiz/MacOS_Other_Gui_MSTest_None.md
index 64629c75a1..57081183c7 100644
--- a/docs/wiz/MacOS_Other_Gui_MSTest_None.md
+++ b/docs/wiz/MacOS_Other_Gui_MSTest_None.md
@@ -17,10 +17,11 @@ Add the following packages to the test project:
```csproj
-
-
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -35,9 +36,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +56,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +68,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Gui_NUnit_AppVeyor.md b/docs/wiz/MacOS_Other_Gui_NUnit_AppVeyor.md
index 91ae7fd1fe..60b82ac5bb 100644
--- a/docs/wiz/MacOS_Other_Gui_NUnit_AppVeyor.md
+++ b/docs/wiz/MacOS_Other_Gui_NUnit_AppVeyor.md
@@ -17,11 +17,12 @@ Add the following packages to the test project:
```csproj
-
-
-
+
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -36,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -55,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -66,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Gui_NUnit_AzureDevOps.md b/docs/wiz/MacOS_Other_Gui_NUnit_AzureDevOps.md
index 2e2a556397..e0b66c5eb4 100644
--- a/docs/wiz/MacOS_Other_Gui_NUnit_AzureDevOps.md
+++ b/docs/wiz/MacOS_Other_Gui_NUnit_AzureDevOps.md
@@ -17,11 +17,12 @@ Add the following packages to the test project:
```csproj
-
-
-
+
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -36,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -55,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -66,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Gui_NUnit_GitHubActions.md b/docs/wiz/MacOS_Other_Gui_NUnit_GitHubActions.md
index e820efa886..f6c84c5dd4 100644
--- a/docs/wiz/MacOS_Other_Gui_NUnit_GitHubActions.md
+++ b/docs/wiz/MacOS_Other_Gui_NUnit_GitHubActions.md
@@ -17,11 +17,12 @@ Add the following packages to the test project:
```csproj
-
-
-
+
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -36,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -55,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -66,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Gui_NUnit_None.md b/docs/wiz/MacOS_Other_Gui_NUnit_None.md
index a5467a6124..aff813bc7a 100644
--- a/docs/wiz/MacOS_Other_Gui_NUnit_None.md
+++ b/docs/wiz/MacOS_Other_Gui_NUnit_None.md
@@ -17,11 +17,12 @@ Add the following packages to the test project:
```csproj
-
-
-
+
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -36,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -55,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -66,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Gui_TUnit.md b/docs/wiz/MacOS_Other_Gui_TUnit.md
new file mode 100644
index 0000000000..910202ec86
--- /dev/null
+++ b/docs/wiz/MacOS_Other_Gui_TUnit.md
@@ -0,0 +1,18 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer GUI](MacOS_Other_Gui.md) > [TUnit](MacOS_Other_Gui_TUnit.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](MacOS_Other_Gui_TUnit_AppVeyor.md)
+ * [GitHub Actions](MacOS_Other_Gui_TUnit_GitHubActions.md)
+ * [Azure DevOps](MacOS_Other_Gui_TUnit_AzureDevOps.md)
+ * [No build server](MacOS_Other_Gui_TUnit_None.md)
diff --git a/docs/wiz/MacOS_Other_Gui_TUnit_AppVeyor.md b/docs/wiz/MacOS_Other_Gui_TUnit_AppVeyor.md
new file mode 100644
index 0000000000..ad32cafcfe
--- /dev/null
+++ b/docs/wiz/MacOS_Other_Gui_TUnit_AppVeyor.md
@@ -0,0 +1,193 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer GUI](MacOS_Other_Gui.md) > [TUnit](MacOS_Other_Gui_TUnit.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+Use a [on_failure build step](https://www.appveyor.com/docs/build-configuration/#build-pipeline) to call [Push-AppveyorArtifact](https://www.appveyor.com/docs/build-worker-api/#push-artifact).
+
+```
+on_failure:
+ - ps: Get-ChildItem *.received.* -recurse | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
+```
+
+See also [Pushing artifacts from scripts](https://www.appveyor.com/docs/packaging-artifacts/#pushing-artifacts-from-scripts).
+
diff --git a/docs/wiz/MacOS_Other_Gui_TUnit_AzureDevOps.md b/docs/wiz/MacOS_Other_Gui_TUnit_AzureDevOps.md
new file mode 100644
index 0000000000..e06b054f95
--- /dev/null
+++ b/docs/wiz/MacOS_Other_Gui_TUnit_AzureDevOps.md
@@ -0,0 +1,221 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer GUI](MacOS_Other_Gui.md) > [TUnit](MacOS_Other_Gui_TUnit.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+Directly after the test runner step add a build step to set a flag if the testrunner failed. This is done by using a [failed condition](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml). This flag will be evaluated in the CopyFiles and PublishBuildArtifacts steps below.
+
+```yaml
+- task: CmdLine@2
+ displayName: 'Set flag to publish Verify *.received.* files when test step fails'
+ condition: failed()
+ inputs:
+ script: 'echo ##vso[task.setvariable variable=publishverify]Yes'
+```
+
+Since the PublishBuildArtifacts step in DevOps does not allow a wildcard it is necessary to stage the 'received' files before publishing:
+
+```yaml
+- task: CopyFiles@2
+ condition: eq(variables['publishverify'], 'Yes')
+ displayName: 'Copy Verify *.received.* files to Artifact Staging'
+ inputs:
+ contents: '**\*.received.*'
+ targetFolder: '$(Build.ArtifactStagingDirectory)\Verify'
+ cleanTargetFolder: true
+ overWrite: true
+```
+
+Publish the staged files as a build artifact:
+
+```yaml
+- task: PublishBuildArtifacts@1
+ displayName: 'Publish Verify *.received.* files as Artifacts'
+ name: 'verifypublish'
+ condition: eq(variables['publishverify'], 'Yes')
+ inputs:
+ PathtoPublish: '$(Build.ArtifactStagingDirectory)\Verify'
+ ArtifactName: 'Verify'
+ publishLocation: 'Container'
+```
+
+
diff --git a/docs/wiz/MacOS_Other_Gui_TUnit_GitHubActions.md b/docs/wiz/MacOS_Other_Gui_TUnit_GitHubActions.md
new file mode 100644
index 0000000000..747aae3f1a
--- /dev/null
+++ b/docs/wiz/MacOS_Other_Gui_TUnit_GitHubActions.md
@@ -0,0 +1,197 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer GUI](MacOS_Other_Gui.md) > [TUnit](MacOS_Other_Gui_TUnit.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+Use a [if: failure()](https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#failure) condition to upload any `*.received.*` files if the build fails.
+
+```yaml
+- name: Upload Test Results
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: verify-test-results
+ path: |
+ **/*.received.*
+```
+
+
diff --git a/docs/wiz/MacOS_Other_Gui_TUnit_None.md b/docs/wiz/MacOS_Other_Gui_TUnit_None.md
new file mode 100644
index 0000000000..fa41a9dc18
--- /dev/null
+++ b/docs/wiz/MacOS_Other_Gui_TUnit_None.md
@@ -0,0 +1,182 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer GUI](MacOS_Other_Gui.md) > [TUnit](MacOS_Other_Gui_TUnit.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/wiz/MacOS_Other_Gui_XunitV3.md b/docs/wiz/MacOS_Other_Gui_XunitV3.md
new file mode 100644
index 0000000000..4752e972af
--- /dev/null
+++ b/docs/wiz/MacOS_Other_Gui_XunitV3.md
@@ -0,0 +1,18 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer GUI](MacOS_Other_Gui.md) > [XunitV3](MacOS_Other_Gui_XunitV3.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](MacOS_Other_Gui_XunitV3_AppVeyor.md)
+ * [GitHub Actions](MacOS_Other_Gui_XunitV3_GitHubActions.md)
+ * [Azure DevOps](MacOS_Other_Gui_XunitV3_AzureDevOps.md)
+ * [No build server](MacOS_Other_Gui_XunitV3_None.md)
diff --git a/docs/wiz/MacOS_Other_Gui_XunitV3_AppVeyor.md b/docs/wiz/MacOS_Other_Gui_XunitV3_AppVeyor.md
new file mode 100644
index 0000000000..e8b85aa2b1
--- /dev/null
+++ b/docs/wiz/MacOS_Other_Gui_XunitV3_AppVeyor.md
@@ -0,0 +1,194 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer GUI](MacOS_Other_Gui.md) > [XunitV3](MacOS_Other_Gui_XunitV3.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+Use a [on_failure build step](https://www.appveyor.com/docs/build-configuration/#build-pipeline) to call [Push-AppveyorArtifact](https://www.appveyor.com/docs/build-worker-api/#push-artifact).
+
+```
+on_failure:
+ - ps: Get-ChildItem *.received.* -recurse | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
+```
+
+See also [Pushing artifacts from scripts](https://www.appveyor.com/docs/packaging-artifacts/#pushing-artifacts-from-scripts).
+
diff --git a/docs/wiz/MacOS_Other_Gui_XunitV3_AzureDevOps.md b/docs/wiz/MacOS_Other_Gui_XunitV3_AzureDevOps.md
new file mode 100644
index 0000000000..964ead66f4
--- /dev/null
+++ b/docs/wiz/MacOS_Other_Gui_XunitV3_AzureDevOps.md
@@ -0,0 +1,222 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer GUI](MacOS_Other_Gui.md) > [XunitV3](MacOS_Other_Gui_XunitV3.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+Directly after the test runner step add a build step to set a flag if the testrunner failed. This is done by using a [failed condition](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml). This flag will be evaluated in the CopyFiles and PublishBuildArtifacts steps below.
+
+```yaml
+- task: CmdLine@2
+ displayName: 'Set flag to publish Verify *.received.* files when test step fails'
+ condition: failed()
+ inputs:
+ script: 'echo ##vso[task.setvariable variable=publishverify]Yes'
+```
+
+Since the PublishBuildArtifacts step in DevOps does not allow a wildcard it is necessary to stage the 'received' files before publishing:
+
+```yaml
+- task: CopyFiles@2
+ condition: eq(variables['publishverify'], 'Yes')
+ displayName: 'Copy Verify *.received.* files to Artifact Staging'
+ inputs:
+ contents: '**\*.received.*'
+ targetFolder: '$(Build.ArtifactStagingDirectory)\Verify'
+ cleanTargetFolder: true
+ overWrite: true
+```
+
+Publish the staged files as a build artifact:
+
+```yaml
+- task: PublishBuildArtifacts@1
+ displayName: 'Publish Verify *.received.* files as Artifacts'
+ name: 'verifypublish'
+ condition: eq(variables['publishverify'], 'Yes')
+ inputs:
+ PathtoPublish: '$(Build.ArtifactStagingDirectory)\Verify'
+ ArtifactName: 'Verify'
+ publishLocation: 'Container'
+```
+
+
diff --git a/docs/wiz/MacOS_Other_Gui_XunitV3_GitHubActions.md b/docs/wiz/MacOS_Other_Gui_XunitV3_GitHubActions.md
new file mode 100644
index 0000000000..b77166f312
--- /dev/null
+++ b/docs/wiz/MacOS_Other_Gui_XunitV3_GitHubActions.md
@@ -0,0 +1,198 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer GUI](MacOS_Other_Gui.md) > [XunitV3](MacOS_Other_Gui_XunitV3.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+Use a [if: failure()](https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#failure) condition to upload any `*.received.*` files if the build fails.
+
+```yaml
+- name: Upload Test Results
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: verify-test-results
+ path: |
+ **/*.received.*
+```
+
+
diff --git a/docs/wiz/MacOS_Other_Gui_XunitV3_None.md b/docs/wiz/MacOS_Other_Gui_XunitV3_None.md
new file mode 100644
index 0000000000..7bd662fdc7
--- /dev/null
+++ b/docs/wiz/MacOS_Other_Gui_XunitV3_None.md
@@ -0,0 +1,183 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [Other](MacOS_Other.md) > [Prefer GUI](MacOS_Other_Gui.md) > [XunitV3](MacOS_Other_Gui_XunitV3.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/wiz/MacOS_Other_Gui_Xunit_AppVeyor.md b/docs/wiz/MacOS_Other_Gui_Xunit_AppVeyor.md
index 1c4d7e6112..75bc6b6a01 100644
--- a/docs/wiz/MacOS_Other_Gui_Xunit_AppVeyor.md
+++ b/docs/wiz/MacOS_Other_Gui_Xunit_AppVeyor.md
@@ -17,10 +17,10 @@ Add the following packages to the test project:
```csproj
-
-
-
-
+
+
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Gui_Xunit_AzureDevOps.md b/docs/wiz/MacOS_Other_Gui_Xunit_AzureDevOps.md
index 275bd9ce8e..3b80b428a0 100644
--- a/docs/wiz/MacOS_Other_Gui_Xunit_AzureDevOps.md
+++ b/docs/wiz/MacOS_Other_Gui_Xunit_AzureDevOps.md
@@ -17,10 +17,10 @@ Add the following packages to the test project:
```csproj
-
-
-
-
+
+
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Gui_Xunit_GitHubActions.md b/docs/wiz/MacOS_Other_Gui_Xunit_GitHubActions.md
index 4e3d3bb7cf..5ecc0981af 100644
--- a/docs/wiz/MacOS_Other_Gui_Xunit_GitHubActions.md
+++ b/docs/wiz/MacOS_Other_Gui_Xunit_GitHubActions.md
@@ -17,10 +17,10 @@ Add the following packages to the test project:
```csproj
-
-
-
-
+
+
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Other_Gui_Xunit_None.md b/docs/wiz/MacOS_Other_Gui_Xunit_None.md
index 0ff578e188..d25496fb0e 100644
--- a/docs/wiz/MacOS_Other_Gui_Xunit_None.md
+++ b/docs/wiz/MacOS_Other_Gui_Xunit_None.md
@@ -17,10 +17,10 @@ Add the following packages to the test project:
```csproj
-
-
-
-
+
+
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffPlex
diff --git a/docs/wiz/MacOS_Rider_Cli.md b/docs/wiz/MacOS_Rider_Cli.md
index be8b7c6af8..7416d4bd93 100644
--- a/docs/wiz/MacOS_Rider_Cli.md
+++ b/docs/wiz/MacOS_Rider_Cli.md
@@ -13,7 +13,9 @@ To change this file edit the source file and then run MarkdownSnippets.
Options:
* [Xunit](MacOS_Rider_Cli_Xunit.md)
+ * [XunitV3](MacOS_Rider_Cli_XunitV3.md)
* [NUnit](MacOS_Rider_Cli_NUnit.md)
+ * [TUnit](MacOS_Rider_Cli_TUnit.md)
* [Fixie](MacOS_Rider_Cli_Fixie.md)
* [MSTest](MacOS_Rider_Cli_MSTest.md)
* [Expecto](MacOS_Rider_Cli_Expecto.md)
diff --git a/docs/wiz/MacOS_Rider_Cli_Expecto_AppVeyor.md b/docs/wiz/MacOS_Rider_Cli_Expecto_AppVeyor.md
index a65b55e87a..300c706f3c 100644
--- a/docs/wiz/MacOS_Rider_Cli_Expecto_AppVeyor.md
+++ b/docs/wiz/MacOS_Rider_Cli_Expecto_AppVeyor.md
@@ -30,9 +30,10 @@ dotnet add package Verify.Expecto
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -49,6 +50,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -60,7 +62,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Cli_Expecto_AzureDevOps.md b/docs/wiz/MacOS_Rider_Cli_Expecto_AzureDevOps.md
index 74c4328f65..001180c77f 100644
--- a/docs/wiz/MacOS_Rider_Cli_Expecto_AzureDevOps.md
+++ b/docs/wiz/MacOS_Rider_Cli_Expecto_AzureDevOps.md
@@ -30,9 +30,10 @@ dotnet add package Verify.Expecto
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -49,6 +50,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -60,7 +62,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Cli_Expecto_GitHubActions.md b/docs/wiz/MacOS_Rider_Cli_Expecto_GitHubActions.md
index d948c14a5f..9ab1fbdb1f 100644
--- a/docs/wiz/MacOS_Rider_Cli_Expecto_GitHubActions.md
+++ b/docs/wiz/MacOS_Rider_Cli_Expecto_GitHubActions.md
@@ -30,9 +30,10 @@ dotnet add package Verify.Expecto
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -49,6 +50,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -60,7 +62,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Cli_Expecto_None.md b/docs/wiz/MacOS_Rider_Cli_Expecto_None.md
index 68c7b52cbf..a52f724d72 100644
--- a/docs/wiz/MacOS_Rider_Cli_Expecto_None.md
+++ b/docs/wiz/MacOS_Rider_Cli_Expecto_None.md
@@ -30,9 +30,10 @@ dotnet add package Verify.Expecto
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -49,6 +50,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -60,7 +62,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Cli_Fixie_AppVeyor.md b/docs/wiz/MacOS_Rider_Cli_Fixie_AppVeyor.md
index 1d1db556d2..379302dc51 100644
--- a/docs/wiz/MacOS_Rider_Cli_Fixie_AppVeyor.md
+++ b/docs/wiz/MacOS_Rider_Cli_Fixie_AppVeyor.md
@@ -29,9 +29,10 @@ dotnet add package Verify.Fixie
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -48,6 +49,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -59,7 +61,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## Rider Plugin
@@ -195,6 +214,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/MacOS_Rider_Cli_Fixie_AzureDevOps.md b/docs/wiz/MacOS_Rider_Cli_Fixie_AzureDevOps.md
index cdb3c7bbeb..30fd8cca9f 100644
--- a/docs/wiz/MacOS_Rider_Cli_Fixie_AzureDevOps.md
+++ b/docs/wiz/MacOS_Rider_Cli_Fixie_AzureDevOps.md
@@ -29,9 +29,10 @@ dotnet add package Verify.Fixie
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -48,6 +49,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -59,7 +61,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## Rider Plugin
@@ -195,6 +214,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/MacOS_Rider_Cli_Fixie_GitHubActions.md b/docs/wiz/MacOS_Rider_Cli_Fixie_GitHubActions.md
index 2ce28519a5..4543fa9b01 100644
--- a/docs/wiz/MacOS_Rider_Cli_Fixie_GitHubActions.md
+++ b/docs/wiz/MacOS_Rider_Cli_Fixie_GitHubActions.md
@@ -29,9 +29,10 @@ dotnet add package Verify.Fixie
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -48,6 +49,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -59,7 +61,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## Rider Plugin
@@ -195,6 +214,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/MacOS_Rider_Cli_Fixie_None.md b/docs/wiz/MacOS_Rider_Cli_Fixie_None.md
index 2f25052dc6..1018435d4f 100644
--- a/docs/wiz/MacOS_Rider_Cli_Fixie_None.md
+++ b/docs/wiz/MacOS_Rider_Cli_Fixie_None.md
@@ -29,9 +29,10 @@ dotnet add package Verify.Fixie
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -48,6 +49,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -59,7 +61,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## Rider Plugin
@@ -195,6 +214,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/MacOS_Rider_Cli_MSTest_AppVeyor.md b/docs/wiz/MacOS_Rider_Cli_MSTest_AppVeyor.md
index 7fbfcd9dbc..ceb06d18e4 100644
--- a/docs/wiz/MacOS_Rider_Cli_MSTest_AppVeyor.md
+++ b/docs/wiz/MacOS_Rider_Cli_MSTest_AppVeyor.md
@@ -31,9 +31,10 @@ dotnet add package Verify.MSTest
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Cli_MSTest_AzureDevOps.md b/docs/wiz/MacOS_Rider_Cli_MSTest_AzureDevOps.md
index 3ef1c05b03..d137637774 100644
--- a/docs/wiz/MacOS_Rider_Cli_MSTest_AzureDevOps.md
+++ b/docs/wiz/MacOS_Rider_Cli_MSTest_AzureDevOps.md
@@ -31,9 +31,10 @@ dotnet add package Verify.MSTest
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Cli_MSTest_GitHubActions.md b/docs/wiz/MacOS_Rider_Cli_MSTest_GitHubActions.md
index a4e08d678d..0b43688f69 100644
--- a/docs/wiz/MacOS_Rider_Cli_MSTest_GitHubActions.md
+++ b/docs/wiz/MacOS_Rider_Cli_MSTest_GitHubActions.md
@@ -31,9 +31,10 @@ dotnet add package Verify.MSTest
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Cli_MSTest_None.md b/docs/wiz/MacOS_Rider_Cli_MSTest_None.md
index df93dcceca..024c836513 100644
--- a/docs/wiz/MacOS_Rider_Cli_MSTest_None.md
+++ b/docs/wiz/MacOS_Rider_Cli_MSTest_None.md
@@ -31,9 +31,10 @@ dotnet add package Verify.MSTest
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Cli_NUnit_AppVeyor.md b/docs/wiz/MacOS_Rider_Cli_NUnit_AppVeyor.md
index 67c437978c..1f2f715fe2 100644
--- a/docs/wiz/MacOS_Rider_Cli_NUnit_AppVeyor.md
+++ b/docs/wiz/MacOS_Rider_Cli_NUnit_AppVeyor.md
@@ -31,9 +31,10 @@ dotnet add package Verify.NUnit
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Cli_NUnit_AzureDevOps.md b/docs/wiz/MacOS_Rider_Cli_NUnit_AzureDevOps.md
index 5970910343..e235e48f67 100644
--- a/docs/wiz/MacOS_Rider_Cli_NUnit_AzureDevOps.md
+++ b/docs/wiz/MacOS_Rider_Cli_NUnit_AzureDevOps.md
@@ -31,9 +31,10 @@ dotnet add package Verify.NUnit
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Cli_NUnit_GitHubActions.md b/docs/wiz/MacOS_Rider_Cli_NUnit_GitHubActions.md
index 2bc7cab922..b8b18dfafb 100644
--- a/docs/wiz/MacOS_Rider_Cli_NUnit_GitHubActions.md
+++ b/docs/wiz/MacOS_Rider_Cli_NUnit_GitHubActions.md
@@ -31,9 +31,10 @@ dotnet add package Verify.NUnit
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Cli_NUnit_None.md b/docs/wiz/MacOS_Rider_Cli_NUnit_None.md
index 249c44f2c0..e7117800b4 100644
--- a/docs/wiz/MacOS_Rider_Cli_NUnit_None.md
+++ b/docs/wiz/MacOS_Rider_Cli_NUnit_None.md
@@ -31,9 +31,10 @@ dotnet add package Verify.NUnit
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Cli_TUnit.md b/docs/wiz/MacOS_Rider_Cli_TUnit.md
new file mode 100644
index 0000000000..367b954e65
--- /dev/null
+++ b/docs/wiz/MacOS_Rider_Cli_TUnit.md
@@ -0,0 +1,18 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer CLI](MacOS_Rider_Cli.md) > [TUnit](MacOS_Rider_Cli_TUnit.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](MacOS_Rider_Cli_TUnit_AppVeyor.md)
+ * [GitHub Actions](MacOS_Rider_Cli_TUnit_GitHubActions.md)
+ * [Azure DevOps](MacOS_Rider_Cli_TUnit_AzureDevOps.md)
+ * [No build server](MacOS_Rider_Cli_TUnit_None.md)
diff --git a/docs/wiz/MacOS_Rider_Cli_TUnit_AppVeyor.md b/docs/wiz/MacOS_Rider_Cli_TUnit_AppVeyor.md
new file mode 100644
index 0000000000..19f4a8cabd
--- /dev/null
+++ b/docs/wiz/MacOS_Rider_Cli_TUnit_AppVeyor.md
@@ -0,0 +1,248 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer CLI](MacOS_Rider_Cli.md) > [TUnit](MacOS_Rider_Cli_TUnit.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+Use a [on_failure build step](https://www.appveyor.com/docs/build-configuration/#build-pipeline) to call [Push-AppveyorArtifact](https://www.appveyor.com/docs/build-worker-api/#push-artifact).
+
+```
+on_failure:
+ - ps: Get-ChildItem *.received.* -recurse | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
+```
+
+See also [Pushing artifacts from scripts](https://www.appveyor.com/docs/packaging-artifacts/#pushing-artifacts-from-scripts).
+
diff --git a/docs/wiz/MacOS_Rider_Cli_TUnit_AzureDevOps.md b/docs/wiz/MacOS_Rider_Cli_TUnit_AzureDevOps.md
new file mode 100644
index 0000000000..b57991f689
--- /dev/null
+++ b/docs/wiz/MacOS_Rider_Cli_TUnit_AzureDevOps.md
@@ -0,0 +1,276 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer CLI](MacOS_Rider_Cli.md) > [TUnit](MacOS_Rider_Cli_TUnit.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+Directly after the test runner step add a build step to set a flag if the testrunner failed. This is done by using a [failed condition](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml). This flag will be evaluated in the CopyFiles and PublishBuildArtifacts steps below.
+
+```yaml
+- task: CmdLine@2
+ displayName: 'Set flag to publish Verify *.received.* files when test step fails'
+ condition: failed()
+ inputs:
+ script: 'echo ##vso[task.setvariable variable=publishverify]Yes'
+```
+
+Since the PublishBuildArtifacts step in DevOps does not allow a wildcard it is necessary to stage the 'received' files before publishing:
+
+```yaml
+- task: CopyFiles@2
+ condition: eq(variables['publishverify'], 'Yes')
+ displayName: 'Copy Verify *.received.* files to Artifact Staging'
+ inputs:
+ contents: '**\*.received.*'
+ targetFolder: '$(Build.ArtifactStagingDirectory)\Verify'
+ cleanTargetFolder: true
+ overWrite: true
+```
+
+Publish the staged files as a build artifact:
+
+```yaml
+- task: PublishBuildArtifacts@1
+ displayName: 'Publish Verify *.received.* files as Artifacts'
+ name: 'verifypublish'
+ condition: eq(variables['publishverify'], 'Yes')
+ inputs:
+ PathtoPublish: '$(Build.ArtifactStagingDirectory)\Verify'
+ ArtifactName: 'Verify'
+ publishLocation: 'Container'
+```
+
+
diff --git a/docs/wiz/MacOS_Rider_Cli_TUnit_GitHubActions.md b/docs/wiz/MacOS_Rider_Cli_TUnit_GitHubActions.md
new file mode 100644
index 0000000000..e4d40f9fae
--- /dev/null
+++ b/docs/wiz/MacOS_Rider_Cli_TUnit_GitHubActions.md
@@ -0,0 +1,252 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer CLI](MacOS_Rider_Cli.md) > [TUnit](MacOS_Rider_Cli_TUnit.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+Use a [if: failure()](https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#failure) condition to upload any `*.received.*` files if the build fails.
+
+```yaml
+- name: Upload Test Results
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: verify-test-results
+ path: |
+ **/*.received.*
+```
+
+
diff --git a/docs/wiz/MacOS_Rider_Cli_TUnit_None.md b/docs/wiz/MacOS_Rider_Cli_TUnit_None.md
new file mode 100644
index 0000000000..18b18dc6e3
--- /dev/null
+++ b/docs/wiz/MacOS_Rider_Cli_TUnit_None.md
@@ -0,0 +1,237 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer CLI](MacOS_Rider_Cli.md) > [TUnit](MacOS_Rider_Cli_TUnit.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/wiz/MacOS_Rider_Cli_XunitV3.md b/docs/wiz/MacOS_Rider_Cli_XunitV3.md
new file mode 100644
index 0000000000..32ecf25954
--- /dev/null
+++ b/docs/wiz/MacOS_Rider_Cli_XunitV3.md
@@ -0,0 +1,18 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer CLI](MacOS_Rider_Cli.md) > [XunitV3](MacOS_Rider_Cli_XunitV3.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](MacOS_Rider_Cli_XunitV3_AppVeyor.md)
+ * [GitHub Actions](MacOS_Rider_Cli_XunitV3_GitHubActions.md)
+ * [Azure DevOps](MacOS_Rider_Cli_XunitV3_AzureDevOps.md)
+ * [No build server](MacOS_Rider_Cli_XunitV3_None.md)
diff --git a/docs/wiz/MacOS_Rider_Cli_XunitV3_AppVeyor.md b/docs/wiz/MacOS_Rider_Cli_XunitV3_AppVeyor.md
new file mode 100644
index 0000000000..34a215cfae
--- /dev/null
+++ b/docs/wiz/MacOS_Rider_Cli_XunitV3_AppVeyor.md
@@ -0,0 +1,249 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer CLI](MacOS_Rider_Cli.md) > [XunitV3](MacOS_Rider_Cli_XunitV3.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+Use a [on_failure build step](https://www.appveyor.com/docs/build-configuration/#build-pipeline) to call [Push-AppveyorArtifact](https://www.appveyor.com/docs/build-worker-api/#push-artifact).
+
+```
+on_failure:
+ - ps: Get-ChildItem *.received.* -recurse | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
+```
+
+See also [Pushing artifacts from scripts](https://www.appveyor.com/docs/packaging-artifacts/#pushing-artifacts-from-scripts).
+
diff --git a/docs/wiz/MacOS_Rider_Cli_XunitV3_AzureDevOps.md b/docs/wiz/MacOS_Rider_Cli_XunitV3_AzureDevOps.md
new file mode 100644
index 0000000000..0311c1f5ba
--- /dev/null
+++ b/docs/wiz/MacOS_Rider_Cli_XunitV3_AzureDevOps.md
@@ -0,0 +1,277 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer CLI](MacOS_Rider_Cli.md) > [XunitV3](MacOS_Rider_Cli_XunitV3.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+Directly after the test runner step add a build step to set a flag if the testrunner failed. This is done by using a [failed condition](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml). This flag will be evaluated in the CopyFiles and PublishBuildArtifacts steps below.
+
+```yaml
+- task: CmdLine@2
+ displayName: 'Set flag to publish Verify *.received.* files when test step fails'
+ condition: failed()
+ inputs:
+ script: 'echo ##vso[task.setvariable variable=publishverify]Yes'
+```
+
+Since the PublishBuildArtifacts step in DevOps does not allow a wildcard it is necessary to stage the 'received' files before publishing:
+
+```yaml
+- task: CopyFiles@2
+ condition: eq(variables['publishverify'], 'Yes')
+ displayName: 'Copy Verify *.received.* files to Artifact Staging'
+ inputs:
+ contents: '**\*.received.*'
+ targetFolder: '$(Build.ArtifactStagingDirectory)\Verify'
+ cleanTargetFolder: true
+ overWrite: true
+```
+
+Publish the staged files as a build artifact:
+
+```yaml
+- task: PublishBuildArtifacts@1
+ displayName: 'Publish Verify *.received.* files as Artifacts'
+ name: 'verifypublish'
+ condition: eq(variables['publishverify'], 'Yes')
+ inputs:
+ PathtoPublish: '$(Build.ArtifactStagingDirectory)\Verify'
+ ArtifactName: 'Verify'
+ publishLocation: 'Container'
+```
+
+
diff --git a/docs/wiz/MacOS_Rider_Cli_XunitV3_GitHubActions.md b/docs/wiz/MacOS_Rider_Cli_XunitV3_GitHubActions.md
new file mode 100644
index 0000000000..bb0a85d5d8
--- /dev/null
+++ b/docs/wiz/MacOS_Rider_Cli_XunitV3_GitHubActions.md
@@ -0,0 +1,253 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer CLI](MacOS_Rider_Cli.md) > [XunitV3](MacOS_Rider_Cli_XunitV3.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+Use a [if: failure()](https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#failure) condition to upload any `*.received.*` files if the build fails.
+
+```yaml
+- name: Upload Test Results
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: verify-test-results
+ path: |
+ **/*.received.*
+```
+
+
diff --git a/docs/wiz/MacOS_Rider_Cli_XunitV3_None.md b/docs/wiz/MacOS_Rider_Cli_XunitV3_None.md
new file mode 100644
index 0000000000..18eec7173a
--- /dev/null
+++ b/docs/wiz/MacOS_Rider_Cli_XunitV3_None.md
@@ -0,0 +1,238 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer CLI](MacOS_Rider_Cli.md) > [XunitV3](MacOS_Rider_Cli_XunitV3.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/wiz/MacOS_Rider_Cli_Xunit_AppVeyor.md b/docs/wiz/MacOS_Rider_Cli_Xunit_AppVeyor.md
index 5df48e7964..c36b24b00e 100644
--- a/docs/wiz/MacOS_Rider_Cli_Xunit_AppVeyor.md
+++ b/docs/wiz/MacOS_Rider_Cli_Xunit_AppVeyor.md
@@ -31,9 +31,10 @@ dotnet add package xunit.runner.visualstudio
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Cli_Xunit_AzureDevOps.md b/docs/wiz/MacOS_Rider_Cli_Xunit_AzureDevOps.md
index af7c607a7c..1ca9df2502 100644
--- a/docs/wiz/MacOS_Rider_Cli_Xunit_AzureDevOps.md
+++ b/docs/wiz/MacOS_Rider_Cli_Xunit_AzureDevOps.md
@@ -31,9 +31,10 @@ dotnet add package xunit.runner.visualstudio
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Cli_Xunit_GitHubActions.md b/docs/wiz/MacOS_Rider_Cli_Xunit_GitHubActions.md
index fcbd148ad3..dd78655f45 100644
--- a/docs/wiz/MacOS_Rider_Cli_Xunit_GitHubActions.md
+++ b/docs/wiz/MacOS_Rider_Cli_Xunit_GitHubActions.md
@@ -31,9 +31,10 @@ dotnet add package xunit.runner.visualstudio
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Cli_Xunit_None.md b/docs/wiz/MacOS_Rider_Cli_Xunit_None.md
index 64a43fc643..932c5f8fdd 100644
--- a/docs/wiz/MacOS_Rider_Cli_Xunit_None.md
+++ b/docs/wiz/MacOS_Rider_Cli_Xunit_None.md
@@ -31,9 +31,10 @@ dotnet add package xunit.runner.visualstudio
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Gui.md b/docs/wiz/MacOS_Rider_Gui.md
index ee19af90cd..fc75de84a8 100644
--- a/docs/wiz/MacOS_Rider_Gui.md
+++ b/docs/wiz/MacOS_Rider_Gui.md
@@ -13,7 +13,9 @@ To change this file edit the source file and then run MarkdownSnippets.
Options:
* [Xunit](MacOS_Rider_Gui_Xunit.md)
+ * [XunitV3](MacOS_Rider_Gui_XunitV3.md)
* [NUnit](MacOS_Rider_Gui_NUnit.md)
+ * [TUnit](MacOS_Rider_Gui_TUnit.md)
* [Fixie](MacOS_Rider_Gui_Fixie.md)
* [MSTest](MacOS_Rider_Gui_MSTest.md)
* [Expecto](MacOS_Rider_Gui_Expecto.md)
diff --git a/docs/wiz/MacOS_Rider_Gui_Expecto_AppVeyor.md b/docs/wiz/MacOS_Rider_Gui_Expecto_AppVeyor.md
index ddfb99573e..56414db4d4 100644
--- a/docs/wiz/MacOS_Rider_Gui_Expecto_AppVeyor.md
+++ b/docs/wiz/MacOS_Rider_Gui_Expecto_AppVeyor.md
@@ -19,8 +19,8 @@ Add the following packages to the test project:
```fsproj
-
-
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Gui_Expecto_AzureDevOps.md b/docs/wiz/MacOS_Rider_Gui_Expecto_AzureDevOps.md
index db1cee24bc..2ca0b2a91c 100644
--- a/docs/wiz/MacOS_Rider_Gui_Expecto_AzureDevOps.md
+++ b/docs/wiz/MacOS_Rider_Gui_Expecto_AzureDevOps.md
@@ -19,8 +19,8 @@ Add the following packages to the test project:
```fsproj
-
-
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Gui_Expecto_GitHubActions.md b/docs/wiz/MacOS_Rider_Gui_Expecto_GitHubActions.md
index 1966f832ac..c8f9d58e9c 100644
--- a/docs/wiz/MacOS_Rider_Gui_Expecto_GitHubActions.md
+++ b/docs/wiz/MacOS_Rider_Gui_Expecto_GitHubActions.md
@@ -19,8 +19,8 @@ Add the following packages to the test project:
```fsproj
-
-
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Gui_Expecto_None.md b/docs/wiz/MacOS_Rider_Gui_Expecto_None.md
index c8fdccb583..29b271cf18 100644
--- a/docs/wiz/MacOS_Rider_Gui_Expecto_None.md
+++ b/docs/wiz/MacOS_Rider_Gui_Expecto_None.md
@@ -19,8 +19,8 @@ Add the following packages to the test project:
```fsproj
-
-
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Gui_Fixie_AppVeyor.md b/docs/wiz/MacOS_Rider_Gui_Fixie_AppVeyor.md
index cb43dcff98..f6073a1b71 100644
--- a/docs/wiz/MacOS_Rider_Gui_Fixie_AppVeyor.md
+++ b/docs/wiz/MacOS_Rider_Gui_Fixie_AppVeyor.md
@@ -18,7 +18,7 @@ Add the following packages to the test project:
```csproj
-
+
```
snippet source | anchor
@@ -35,9 +35,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +55,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +67,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## Rider Plugin
@@ -189,6 +208,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/MacOS_Rider_Gui_Fixie_AzureDevOps.md b/docs/wiz/MacOS_Rider_Gui_Fixie_AzureDevOps.md
index f9b9c13b88..c9be1109aa 100644
--- a/docs/wiz/MacOS_Rider_Gui_Fixie_AzureDevOps.md
+++ b/docs/wiz/MacOS_Rider_Gui_Fixie_AzureDevOps.md
@@ -18,7 +18,7 @@ Add the following packages to the test project:
```csproj
-
+
```
snippet source | anchor
@@ -35,9 +35,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +55,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +67,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## Rider Plugin
@@ -189,6 +208,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/MacOS_Rider_Gui_Fixie_GitHubActions.md b/docs/wiz/MacOS_Rider_Gui_Fixie_GitHubActions.md
index 85d51ad89b..bbc2c8ff0b 100644
--- a/docs/wiz/MacOS_Rider_Gui_Fixie_GitHubActions.md
+++ b/docs/wiz/MacOS_Rider_Gui_Fixie_GitHubActions.md
@@ -18,7 +18,7 @@ Add the following packages to the test project:
```csproj
-
+
```
snippet source | anchor
@@ -35,9 +35,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +55,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +67,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## Rider Plugin
@@ -189,6 +208,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/MacOS_Rider_Gui_Fixie_None.md b/docs/wiz/MacOS_Rider_Gui_Fixie_None.md
index cf1f784883..433f5670b7 100644
--- a/docs/wiz/MacOS_Rider_Gui_Fixie_None.md
+++ b/docs/wiz/MacOS_Rider_Gui_Fixie_None.md
@@ -18,7 +18,7 @@ Add the following packages to the test project:
```csproj
-
+
```
snippet source | anchor
@@ -35,9 +35,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +55,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +67,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## Rider Plugin
@@ -189,6 +208,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/MacOS_Rider_Gui_MSTest_AppVeyor.md b/docs/wiz/MacOS_Rider_Gui_MSTest_AppVeyor.md
index d5b824ceae..aeaac008bb 100644
--- a/docs/wiz/MacOS_Rider_Gui_MSTest_AppVeyor.md
+++ b/docs/wiz/MacOS_Rider_Gui_MSTest_AppVeyor.md
@@ -17,10 +17,11 @@ Add the following packages to the test project:
```csproj
-
-
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -35,9 +36,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +56,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +68,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Gui_MSTest_AzureDevOps.md b/docs/wiz/MacOS_Rider_Gui_MSTest_AzureDevOps.md
index e60b6b3f08..4511594c33 100644
--- a/docs/wiz/MacOS_Rider_Gui_MSTest_AzureDevOps.md
+++ b/docs/wiz/MacOS_Rider_Gui_MSTest_AzureDevOps.md
@@ -17,10 +17,11 @@ Add the following packages to the test project:
```csproj
-
-
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -35,9 +36,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +56,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +68,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Gui_MSTest_GitHubActions.md b/docs/wiz/MacOS_Rider_Gui_MSTest_GitHubActions.md
index a89cc41ee4..0825955d3c 100644
--- a/docs/wiz/MacOS_Rider_Gui_MSTest_GitHubActions.md
+++ b/docs/wiz/MacOS_Rider_Gui_MSTest_GitHubActions.md
@@ -17,10 +17,11 @@ Add the following packages to the test project:
```csproj
-
-
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -35,9 +36,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +56,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +68,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Gui_MSTest_None.md b/docs/wiz/MacOS_Rider_Gui_MSTest_None.md
index 0c65f6b69e..e733b933f1 100644
--- a/docs/wiz/MacOS_Rider_Gui_MSTest_None.md
+++ b/docs/wiz/MacOS_Rider_Gui_MSTest_None.md
@@ -17,10 +17,11 @@ Add the following packages to the test project:
```csproj
-
-
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -35,9 +36,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +56,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +68,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Gui_NUnit_AppVeyor.md b/docs/wiz/MacOS_Rider_Gui_NUnit_AppVeyor.md
index 131b66bc79..95187a083c 100644
--- a/docs/wiz/MacOS_Rider_Gui_NUnit_AppVeyor.md
+++ b/docs/wiz/MacOS_Rider_Gui_NUnit_AppVeyor.md
@@ -17,11 +17,12 @@ Add the following packages to the test project:
```csproj
-
-
-
+
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -36,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -55,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -66,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Gui_NUnit_AzureDevOps.md b/docs/wiz/MacOS_Rider_Gui_NUnit_AzureDevOps.md
index 4c379e7211..2c99010b02 100644
--- a/docs/wiz/MacOS_Rider_Gui_NUnit_AzureDevOps.md
+++ b/docs/wiz/MacOS_Rider_Gui_NUnit_AzureDevOps.md
@@ -17,11 +17,12 @@ Add the following packages to the test project:
```csproj
-
-
-
+
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -36,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -55,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -66,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Gui_NUnit_GitHubActions.md b/docs/wiz/MacOS_Rider_Gui_NUnit_GitHubActions.md
index ce2f8c7f11..cd8262cb8f 100644
--- a/docs/wiz/MacOS_Rider_Gui_NUnit_GitHubActions.md
+++ b/docs/wiz/MacOS_Rider_Gui_NUnit_GitHubActions.md
@@ -17,11 +17,12 @@ Add the following packages to the test project:
```csproj
-
-
-
+
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -36,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -55,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -66,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Gui_NUnit_None.md b/docs/wiz/MacOS_Rider_Gui_NUnit_None.md
index f4303f33af..75875f0436 100644
--- a/docs/wiz/MacOS_Rider_Gui_NUnit_None.md
+++ b/docs/wiz/MacOS_Rider_Gui_NUnit_None.md
@@ -17,11 +17,12 @@ Add the following packages to the test project:
```csproj
-
-
-
+
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -36,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -55,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -66,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Gui_TUnit.md b/docs/wiz/MacOS_Rider_Gui_TUnit.md
new file mode 100644
index 0000000000..5adecdc2f9
--- /dev/null
+++ b/docs/wiz/MacOS_Rider_Gui_TUnit.md
@@ -0,0 +1,18 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer GUI](MacOS_Rider_Gui.md) > [TUnit](MacOS_Rider_Gui_TUnit.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](MacOS_Rider_Gui_TUnit_AppVeyor.md)
+ * [GitHub Actions](MacOS_Rider_Gui_TUnit_GitHubActions.md)
+ * [Azure DevOps](MacOS_Rider_Gui_TUnit_AzureDevOps.md)
+ * [No build server](MacOS_Rider_Gui_TUnit_None.md)
diff --git a/docs/wiz/MacOS_Rider_Gui_TUnit_AppVeyor.md b/docs/wiz/MacOS_Rider_Gui_TUnit_AppVeyor.md
new file mode 100644
index 0000000000..d696146ef3
--- /dev/null
+++ b/docs/wiz/MacOS_Rider_Gui_TUnit_AppVeyor.md
@@ -0,0 +1,242 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer GUI](MacOS_Rider_Gui.md) > [TUnit](MacOS_Rider_Gui_TUnit.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+Use a [on_failure build step](https://www.appveyor.com/docs/build-configuration/#build-pipeline) to call [Push-AppveyorArtifact](https://www.appveyor.com/docs/build-worker-api/#push-artifact).
+
+```
+on_failure:
+ - ps: Get-ChildItem *.received.* -recurse | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
+```
+
+See also [Pushing artifacts from scripts](https://www.appveyor.com/docs/packaging-artifacts/#pushing-artifacts-from-scripts).
+
diff --git a/docs/wiz/MacOS_Rider_Gui_TUnit_AzureDevOps.md b/docs/wiz/MacOS_Rider_Gui_TUnit_AzureDevOps.md
new file mode 100644
index 0000000000..4277139b08
--- /dev/null
+++ b/docs/wiz/MacOS_Rider_Gui_TUnit_AzureDevOps.md
@@ -0,0 +1,270 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer GUI](MacOS_Rider_Gui.md) > [TUnit](MacOS_Rider_Gui_TUnit.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+Directly after the test runner step add a build step to set a flag if the testrunner failed. This is done by using a [failed condition](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml). This flag will be evaluated in the CopyFiles and PublishBuildArtifacts steps below.
+
+```yaml
+- task: CmdLine@2
+ displayName: 'Set flag to publish Verify *.received.* files when test step fails'
+ condition: failed()
+ inputs:
+ script: 'echo ##vso[task.setvariable variable=publishverify]Yes'
+```
+
+Since the PublishBuildArtifacts step in DevOps does not allow a wildcard it is necessary to stage the 'received' files before publishing:
+
+```yaml
+- task: CopyFiles@2
+ condition: eq(variables['publishverify'], 'Yes')
+ displayName: 'Copy Verify *.received.* files to Artifact Staging'
+ inputs:
+ contents: '**\*.received.*'
+ targetFolder: '$(Build.ArtifactStagingDirectory)\Verify'
+ cleanTargetFolder: true
+ overWrite: true
+```
+
+Publish the staged files as a build artifact:
+
+```yaml
+- task: PublishBuildArtifacts@1
+ displayName: 'Publish Verify *.received.* files as Artifacts'
+ name: 'verifypublish'
+ condition: eq(variables['publishverify'], 'Yes')
+ inputs:
+ PathtoPublish: '$(Build.ArtifactStagingDirectory)\Verify'
+ ArtifactName: 'Verify'
+ publishLocation: 'Container'
+```
+
+
diff --git a/docs/wiz/MacOS_Rider_Gui_TUnit_GitHubActions.md b/docs/wiz/MacOS_Rider_Gui_TUnit_GitHubActions.md
new file mode 100644
index 0000000000..db0f7ffb4c
--- /dev/null
+++ b/docs/wiz/MacOS_Rider_Gui_TUnit_GitHubActions.md
@@ -0,0 +1,246 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer GUI](MacOS_Rider_Gui.md) > [TUnit](MacOS_Rider_Gui_TUnit.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+Use a [if: failure()](https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#failure) condition to upload any `*.received.*` files if the build fails.
+
+```yaml
+- name: Upload Test Results
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: verify-test-results
+ path: |
+ **/*.received.*
+```
+
+
diff --git a/docs/wiz/MacOS_Rider_Gui_TUnit_None.md b/docs/wiz/MacOS_Rider_Gui_TUnit_None.md
new file mode 100644
index 0000000000..21333b8973
--- /dev/null
+++ b/docs/wiz/MacOS_Rider_Gui_TUnit_None.md
@@ -0,0 +1,231 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer GUI](MacOS_Rider_Gui.md) > [TUnit](MacOS_Rider_Gui_TUnit.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/wiz/MacOS_Rider_Gui_XunitV3.md b/docs/wiz/MacOS_Rider_Gui_XunitV3.md
new file mode 100644
index 0000000000..9ebb8ca68a
--- /dev/null
+++ b/docs/wiz/MacOS_Rider_Gui_XunitV3.md
@@ -0,0 +1,18 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer GUI](MacOS_Rider_Gui.md) > [XunitV3](MacOS_Rider_Gui_XunitV3.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](MacOS_Rider_Gui_XunitV3_AppVeyor.md)
+ * [GitHub Actions](MacOS_Rider_Gui_XunitV3_GitHubActions.md)
+ * [Azure DevOps](MacOS_Rider_Gui_XunitV3_AzureDevOps.md)
+ * [No build server](MacOS_Rider_Gui_XunitV3_None.md)
diff --git a/docs/wiz/MacOS_Rider_Gui_XunitV3_AppVeyor.md b/docs/wiz/MacOS_Rider_Gui_XunitV3_AppVeyor.md
new file mode 100644
index 0000000000..16e4dd052e
--- /dev/null
+++ b/docs/wiz/MacOS_Rider_Gui_XunitV3_AppVeyor.md
@@ -0,0 +1,243 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer GUI](MacOS_Rider_Gui.md) > [XunitV3](MacOS_Rider_Gui_XunitV3.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+Use a [on_failure build step](https://www.appveyor.com/docs/build-configuration/#build-pipeline) to call [Push-AppveyorArtifact](https://www.appveyor.com/docs/build-worker-api/#push-artifact).
+
+```
+on_failure:
+ - ps: Get-ChildItem *.received.* -recurse | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
+```
+
+See also [Pushing artifacts from scripts](https://www.appveyor.com/docs/packaging-artifacts/#pushing-artifacts-from-scripts).
+
diff --git a/docs/wiz/MacOS_Rider_Gui_XunitV3_AzureDevOps.md b/docs/wiz/MacOS_Rider_Gui_XunitV3_AzureDevOps.md
new file mode 100644
index 0000000000..f1b04887b3
--- /dev/null
+++ b/docs/wiz/MacOS_Rider_Gui_XunitV3_AzureDevOps.md
@@ -0,0 +1,271 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer GUI](MacOS_Rider_Gui.md) > [XunitV3](MacOS_Rider_Gui_XunitV3.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+Directly after the test runner step add a build step to set a flag if the testrunner failed. This is done by using a [failed condition](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml). This flag will be evaluated in the CopyFiles and PublishBuildArtifacts steps below.
+
+```yaml
+- task: CmdLine@2
+ displayName: 'Set flag to publish Verify *.received.* files when test step fails'
+ condition: failed()
+ inputs:
+ script: 'echo ##vso[task.setvariable variable=publishverify]Yes'
+```
+
+Since the PublishBuildArtifacts step in DevOps does not allow a wildcard it is necessary to stage the 'received' files before publishing:
+
+```yaml
+- task: CopyFiles@2
+ condition: eq(variables['publishverify'], 'Yes')
+ displayName: 'Copy Verify *.received.* files to Artifact Staging'
+ inputs:
+ contents: '**\*.received.*'
+ targetFolder: '$(Build.ArtifactStagingDirectory)\Verify'
+ cleanTargetFolder: true
+ overWrite: true
+```
+
+Publish the staged files as a build artifact:
+
+```yaml
+- task: PublishBuildArtifacts@1
+ displayName: 'Publish Verify *.received.* files as Artifacts'
+ name: 'verifypublish'
+ condition: eq(variables['publishverify'], 'Yes')
+ inputs:
+ PathtoPublish: '$(Build.ArtifactStagingDirectory)\Verify'
+ ArtifactName: 'Verify'
+ publishLocation: 'Container'
+```
+
+
diff --git a/docs/wiz/MacOS_Rider_Gui_XunitV3_GitHubActions.md b/docs/wiz/MacOS_Rider_Gui_XunitV3_GitHubActions.md
new file mode 100644
index 0000000000..462ac45d98
--- /dev/null
+++ b/docs/wiz/MacOS_Rider_Gui_XunitV3_GitHubActions.md
@@ -0,0 +1,247 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer GUI](MacOS_Rider_Gui.md) > [XunitV3](MacOS_Rider_Gui_XunitV3.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+Use a [if: failure()](https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#failure) condition to upload any `*.received.*` files if the build fails.
+
+```yaml
+- name: Upload Test Results
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: verify-test-results
+ path: |
+ **/*.received.*
+```
+
+
diff --git a/docs/wiz/MacOS_Rider_Gui_XunitV3_None.md b/docs/wiz/MacOS_Rider_Gui_XunitV3_None.md
new file mode 100644
index 0000000000..95493bf78e
--- /dev/null
+++ b/docs/wiz/MacOS_Rider_Gui_XunitV3_None.md
@@ -0,0 +1,232 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [MacOS](MacOS.md) > [JetBrains Rider](MacOS_Rider.md) > [Prefer GUI](MacOS_Rider_Gui.md) > [XunitV3](MacOS_Rider_Gui_XunitV3.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by MacOS:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [Kaleidoscope](https://kaleidoscope.app)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [TkDiff](https://sourceforge.net/projects/tkdiff/)
+ * [Guiffy](https://www.guiffy.com/)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/wiz/MacOS_Rider_Gui_Xunit_AppVeyor.md b/docs/wiz/MacOS_Rider_Gui_Xunit_AppVeyor.md
index 00307685d3..cf536cf847 100644
--- a/docs/wiz/MacOS_Rider_Gui_Xunit_AppVeyor.md
+++ b/docs/wiz/MacOS_Rider_Gui_Xunit_AppVeyor.md
@@ -17,10 +17,10 @@ Add the following packages to the test project:
```csproj
-
-
-
-
+
+
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Gui_Xunit_AzureDevOps.md b/docs/wiz/MacOS_Rider_Gui_Xunit_AzureDevOps.md
index d9057b314b..b8af4f7bef 100644
--- a/docs/wiz/MacOS_Rider_Gui_Xunit_AzureDevOps.md
+++ b/docs/wiz/MacOS_Rider_Gui_Xunit_AzureDevOps.md
@@ -17,10 +17,10 @@ Add the following packages to the test project:
```csproj
-
-
-
-
+
+
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Gui_Xunit_GitHubActions.md b/docs/wiz/MacOS_Rider_Gui_Xunit_GitHubActions.md
index 8e0e9fa3f3..0a36d1b512 100644
--- a/docs/wiz/MacOS_Rider_Gui_Xunit_GitHubActions.md
+++ b/docs/wiz/MacOS_Rider_Gui_Xunit_GitHubActions.md
@@ -17,10 +17,10 @@ Add the following packages to the test project:
```csproj
-
-
-
-
+
+
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/MacOS_Rider_Gui_Xunit_None.md b/docs/wiz/MacOS_Rider_Gui_Xunit_None.md
index 675f041387..83e6cdafa4 100644
--- a/docs/wiz/MacOS_Rider_Gui_Xunit_None.md
+++ b/docs/wiz/MacOS_Rider_Gui_Xunit_None.md
@@ -17,10 +17,10 @@ Add the following packages to the test project:
```csproj
-
-
-
-
+
+
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## Rider Plugin
diff --git a/docs/wiz/Windows_Other_Cli.md b/docs/wiz/Windows_Other_Cli.md
index 1c241bcfde..c48a0459b9 100644
--- a/docs/wiz/Windows_Other_Cli.md
+++ b/docs/wiz/Windows_Other_Cli.md
@@ -13,7 +13,9 @@ To change this file edit the source file and then run MarkdownSnippets.
Options:
* [Xunit](Windows_Other_Cli_Xunit.md)
+ * [XunitV3](Windows_Other_Cli_XunitV3.md)
* [NUnit](Windows_Other_Cli_NUnit.md)
+ * [TUnit](Windows_Other_Cli_TUnit.md)
* [Fixie](Windows_Other_Cli_Fixie.md)
* [MSTest](Windows_Other_Cli_MSTest.md)
* [Expecto](Windows_Other_Cli_Expecto.md)
diff --git a/docs/wiz/Windows_Other_Cli_Expecto_AppVeyor.md b/docs/wiz/Windows_Other_Cli_Expecto_AppVeyor.md
index 7769636372..8b00f9537b 100644
--- a/docs/wiz/Windows_Other_Cli_Expecto_AppVeyor.md
+++ b/docs/wiz/Windows_Other_Cli_Expecto_AppVeyor.md
@@ -30,9 +30,10 @@ dotnet add package Verify.Expecto
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -49,6 +50,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -60,7 +62,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Cli_Expecto_AzureDevOps.md b/docs/wiz/Windows_Other_Cli_Expecto_AzureDevOps.md
index a6260029a3..4349126a92 100644
--- a/docs/wiz/Windows_Other_Cli_Expecto_AzureDevOps.md
+++ b/docs/wiz/Windows_Other_Cli_Expecto_AzureDevOps.md
@@ -30,9 +30,10 @@ dotnet add package Verify.Expecto
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -49,6 +50,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -60,7 +62,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Cli_Expecto_GitHubActions.md b/docs/wiz/Windows_Other_Cli_Expecto_GitHubActions.md
index f7ad7998a4..753e3cff10 100644
--- a/docs/wiz/Windows_Other_Cli_Expecto_GitHubActions.md
+++ b/docs/wiz/Windows_Other_Cli_Expecto_GitHubActions.md
@@ -30,9 +30,10 @@ dotnet add package Verify.Expecto
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -49,6 +50,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -60,7 +62,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Cli_Expecto_None.md b/docs/wiz/Windows_Other_Cli_Expecto_None.md
index dc64892e53..7a5c21b754 100644
--- a/docs/wiz/Windows_Other_Cli_Expecto_None.md
+++ b/docs/wiz/Windows_Other_Cli_Expecto_None.md
@@ -30,9 +30,10 @@ dotnet add package Verify.Expecto
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -49,6 +50,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -60,7 +62,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Cli_Fixie_AppVeyor.md b/docs/wiz/Windows_Other_Cli_Fixie_AppVeyor.md
index 36ded3629a..e177189208 100644
--- a/docs/wiz/Windows_Other_Cli_Fixie_AppVeyor.md
+++ b/docs/wiz/Windows_Other_Cli_Fixie_AppVeyor.md
@@ -29,9 +29,10 @@ dotnet add package Verify.Fixie
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -48,6 +49,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -59,7 +61,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffEngineTray
@@ -159,6 +178,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Windows_Other_Cli_Fixie_AzureDevOps.md b/docs/wiz/Windows_Other_Cli_Fixie_AzureDevOps.md
index c9f667a614..631af6466c 100644
--- a/docs/wiz/Windows_Other_Cli_Fixie_AzureDevOps.md
+++ b/docs/wiz/Windows_Other_Cli_Fixie_AzureDevOps.md
@@ -29,9 +29,10 @@ dotnet add package Verify.Fixie
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -48,6 +49,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -59,7 +61,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffEngineTray
@@ -159,6 +178,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Windows_Other_Cli_Fixie_GitHubActions.md b/docs/wiz/Windows_Other_Cli_Fixie_GitHubActions.md
index b39cd16f2e..e1e53d78cd 100644
--- a/docs/wiz/Windows_Other_Cli_Fixie_GitHubActions.md
+++ b/docs/wiz/Windows_Other_Cli_Fixie_GitHubActions.md
@@ -29,9 +29,10 @@ dotnet add package Verify.Fixie
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -48,6 +49,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -59,7 +61,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffEngineTray
@@ -159,6 +178,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Windows_Other_Cli_Fixie_None.md b/docs/wiz/Windows_Other_Cli_Fixie_None.md
index 1dc6431187..915644f1bd 100644
--- a/docs/wiz/Windows_Other_Cli_Fixie_None.md
+++ b/docs/wiz/Windows_Other_Cli_Fixie_None.md
@@ -29,9 +29,10 @@ dotnet add package Verify.Fixie
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -48,6 +49,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -59,7 +61,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffEngineTray
@@ -159,6 +178,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Windows_Other_Cli_MSTest_AppVeyor.md b/docs/wiz/Windows_Other_Cli_MSTest_AppVeyor.md
index 6311563032..c05cbedef8 100644
--- a/docs/wiz/Windows_Other_Cli_MSTest_AppVeyor.md
+++ b/docs/wiz/Windows_Other_Cli_MSTest_AppVeyor.md
@@ -31,9 +31,10 @@ dotnet add package Verify.MSTest
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Cli_MSTest_AzureDevOps.md b/docs/wiz/Windows_Other_Cli_MSTest_AzureDevOps.md
index 4153f76a51..89eae25c9a 100644
--- a/docs/wiz/Windows_Other_Cli_MSTest_AzureDevOps.md
+++ b/docs/wiz/Windows_Other_Cli_MSTest_AzureDevOps.md
@@ -31,9 +31,10 @@ dotnet add package Verify.MSTest
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Cli_MSTest_GitHubActions.md b/docs/wiz/Windows_Other_Cli_MSTest_GitHubActions.md
index 516e2701e5..99b03ac643 100644
--- a/docs/wiz/Windows_Other_Cli_MSTest_GitHubActions.md
+++ b/docs/wiz/Windows_Other_Cli_MSTest_GitHubActions.md
@@ -31,9 +31,10 @@ dotnet add package Verify.MSTest
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Cli_MSTest_None.md b/docs/wiz/Windows_Other_Cli_MSTest_None.md
index a2c35058f6..3ab8973bb9 100644
--- a/docs/wiz/Windows_Other_Cli_MSTest_None.md
+++ b/docs/wiz/Windows_Other_Cli_MSTest_None.md
@@ -31,9 +31,10 @@ dotnet add package Verify.MSTest
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Cli_NUnit_AppVeyor.md b/docs/wiz/Windows_Other_Cli_NUnit_AppVeyor.md
index 9379906bdd..758569a8f8 100644
--- a/docs/wiz/Windows_Other_Cli_NUnit_AppVeyor.md
+++ b/docs/wiz/Windows_Other_Cli_NUnit_AppVeyor.md
@@ -31,9 +31,10 @@ dotnet add package Verify.NUnit
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Cli_NUnit_AzureDevOps.md b/docs/wiz/Windows_Other_Cli_NUnit_AzureDevOps.md
index ceb518d1cd..bdcdbedd34 100644
--- a/docs/wiz/Windows_Other_Cli_NUnit_AzureDevOps.md
+++ b/docs/wiz/Windows_Other_Cli_NUnit_AzureDevOps.md
@@ -31,9 +31,10 @@ dotnet add package Verify.NUnit
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Cli_NUnit_GitHubActions.md b/docs/wiz/Windows_Other_Cli_NUnit_GitHubActions.md
index 16f891ba6b..89162babb9 100644
--- a/docs/wiz/Windows_Other_Cli_NUnit_GitHubActions.md
+++ b/docs/wiz/Windows_Other_Cli_NUnit_GitHubActions.md
@@ -31,9 +31,10 @@ dotnet add package Verify.NUnit
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Cli_NUnit_None.md b/docs/wiz/Windows_Other_Cli_NUnit_None.md
index 8df160ac69..c19bd612f3 100644
--- a/docs/wiz/Windows_Other_Cli_NUnit_None.md
+++ b/docs/wiz/Windows_Other_Cli_NUnit_None.md
@@ -31,9 +31,10 @@ dotnet add package Verify.NUnit
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Cli_TUnit.md b/docs/wiz/Windows_Other_Cli_TUnit.md
new file mode 100644
index 0000000000..898d7afa14
--- /dev/null
+++ b/docs/wiz/Windows_Other_Cli_TUnit.md
@@ -0,0 +1,18 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer CLI](Windows_Other_Cli.md) > [TUnit](Windows_Other_Cli_TUnit.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Windows_Other_Cli_TUnit_AppVeyor.md)
+ * [GitHub Actions](Windows_Other_Cli_TUnit_GitHubActions.md)
+ * [Azure DevOps](Windows_Other_Cli_TUnit_AzureDevOps.md)
+ * [No build server](Windows_Other_Cli_TUnit_None.md)
diff --git a/docs/wiz/Windows_Other_Cli_TUnit_AppVeyor.md b/docs/wiz/Windows_Other_Cli_TUnit_AppVeyor.md
new file mode 100644
index 0000000000..eccaef59b6
--- /dev/null
+++ b/docs/wiz/Windows_Other_Cli_TUnit_AppVeyor.md
@@ -0,0 +1,217 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer CLI](Windows_Other_Cli.md) > [TUnit](Windows_Other_Cli_TUnit.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+Use a [on_failure build step](https://www.appveyor.com/docs/build-configuration/#build-pipeline) to call [Push-AppveyorArtifact](https://www.appveyor.com/docs/build-worker-api/#push-artifact).
+
+```
+on_failure:
+ - ps: Get-ChildItem *.received.* -recurse | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
+```
+
+See also [Pushing artifacts from scripts](https://www.appveyor.com/docs/packaging-artifacts/#pushing-artifacts-from-scripts).
+
diff --git a/docs/wiz/Windows_Other_Cli_TUnit_AzureDevOps.md b/docs/wiz/Windows_Other_Cli_TUnit_AzureDevOps.md
new file mode 100644
index 0000000000..696d622031
--- /dev/null
+++ b/docs/wiz/Windows_Other_Cli_TUnit_AzureDevOps.md
@@ -0,0 +1,245 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer CLI](Windows_Other_Cli.md) > [TUnit](Windows_Other_Cli_TUnit.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+Directly after the test runner step add a build step to set a flag if the testrunner failed. This is done by using a [failed condition](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml). This flag will be evaluated in the CopyFiles and PublishBuildArtifacts steps below.
+
+```yaml
+- task: CmdLine@2
+ displayName: 'Set flag to publish Verify *.received.* files when test step fails'
+ condition: failed()
+ inputs:
+ script: 'echo ##vso[task.setvariable variable=publishverify]Yes'
+```
+
+Since the PublishBuildArtifacts step in DevOps does not allow a wildcard it is necessary to stage the 'received' files before publishing:
+
+```yaml
+- task: CopyFiles@2
+ condition: eq(variables['publishverify'], 'Yes')
+ displayName: 'Copy Verify *.received.* files to Artifact Staging'
+ inputs:
+ contents: '**\*.received.*'
+ targetFolder: '$(Build.ArtifactStagingDirectory)\Verify'
+ cleanTargetFolder: true
+ overWrite: true
+```
+
+Publish the staged files as a build artifact:
+
+```yaml
+- task: PublishBuildArtifacts@1
+ displayName: 'Publish Verify *.received.* files as Artifacts'
+ name: 'verifypublish'
+ condition: eq(variables['publishverify'], 'Yes')
+ inputs:
+ PathtoPublish: '$(Build.ArtifactStagingDirectory)\Verify'
+ ArtifactName: 'Verify'
+ publishLocation: 'Container'
+```
+
+
diff --git a/docs/wiz/Windows_Other_Cli_TUnit_GitHubActions.md b/docs/wiz/Windows_Other_Cli_TUnit_GitHubActions.md
new file mode 100644
index 0000000000..8f5573110b
--- /dev/null
+++ b/docs/wiz/Windows_Other_Cli_TUnit_GitHubActions.md
@@ -0,0 +1,221 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer CLI](Windows_Other_Cli.md) > [TUnit](Windows_Other_Cli_TUnit.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+Use a [if: failure()](https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#failure) condition to upload any `*.received.*` files if the build fails.
+
+```yaml
+- name: Upload Test Results
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: verify-test-results
+ path: |
+ **/*.received.*
+```
+
+
diff --git a/docs/wiz/Windows_Other_Cli_TUnit_None.md b/docs/wiz/Windows_Other_Cli_TUnit_None.md
new file mode 100644
index 0000000000..1ca5668d0b
--- /dev/null
+++ b/docs/wiz/Windows_Other_Cli_TUnit_None.md
@@ -0,0 +1,206 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer CLI](Windows_Other_Cli.md) > [TUnit](Windows_Other_Cli_TUnit.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/wiz/Windows_Other_Cli_XunitV3.md b/docs/wiz/Windows_Other_Cli_XunitV3.md
new file mode 100644
index 0000000000..d29ef80a08
--- /dev/null
+++ b/docs/wiz/Windows_Other_Cli_XunitV3.md
@@ -0,0 +1,18 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer CLI](Windows_Other_Cli.md) > [XunitV3](Windows_Other_Cli_XunitV3.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Windows_Other_Cli_XunitV3_AppVeyor.md)
+ * [GitHub Actions](Windows_Other_Cli_XunitV3_GitHubActions.md)
+ * [Azure DevOps](Windows_Other_Cli_XunitV3_AzureDevOps.md)
+ * [No build server](Windows_Other_Cli_XunitV3_None.md)
diff --git a/docs/wiz/Windows_Other_Cli_XunitV3_AppVeyor.md b/docs/wiz/Windows_Other_Cli_XunitV3_AppVeyor.md
new file mode 100644
index 0000000000..b7963a48b0
--- /dev/null
+++ b/docs/wiz/Windows_Other_Cli_XunitV3_AppVeyor.md
@@ -0,0 +1,218 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer CLI](Windows_Other_Cli.md) > [XunitV3](Windows_Other_Cli_XunitV3.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+Use a [on_failure build step](https://www.appveyor.com/docs/build-configuration/#build-pipeline) to call [Push-AppveyorArtifact](https://www.appveyor.com/docs/build-worker-api/#push-artifact).
+
+```
+on_failure:
+ - ps: Get-ChildItem *.received.* -recurse | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
+```
+
+See also [Pushing artifacts from scripts](https://www.appveyor.com/docs/packaging-artifacts/#pushing-artifacts-from-scripts).
+
diff --git a/docs/wiz/Windows_Other_Cli_XunitV3_AzureDevOps.md b/docs/wiz/Windows_Other_Cli_XunitV3_AzureDevOps.md
new file mode 100644
index 0000000000..c6b7847de7
--- /dev/null
+++ b/docs/wiz/Windows_Other_Cli_XunitV3_AzureDevOps.md
@@ -0,0 +1,246 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer CLI](Windows_Other_Cli.md) > [XunitV3](Windows_Other_Cli_XunitV3.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+Directly after the test runner step add a build step to set a flag if the testrunner failed. This is done by using a [failed condition](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml). This flag will be evaluated in the CopyFiles and PublishBuildArtifacts steps below.
+
+```yaml
+- task: CmdLine@2
+ displayName: 'Set flag to publish Verify *.received.* files when test step fails'
+ condition: failed()
+ inputs:
+ script: 'echo ##vso[task.setvariable variable=publishverify]Yes'
+```
+
+Since the PublishBuildArtifacts step in DevOps does not allow a wildcard it is necessary to stage the 'received' files before publishing:
+
+```yaml
+- task: CopyFiles@2
+ condition: eq(variables['publishverify'], 'Yes')
+ displayName: 'Copy Verify *.received.* files to Artifact Staging'
+ inputs:
+ contents: '**\*.received.*'
+ targetFolder: '$(Build.ArtifactStagingDirectory)\Verify'
+ cleanTargetFolder: true
+ overWrite: true
+```
+
+Publish the staged files as a build artifact:
+
+```yaml
+- task: PublishBuildArtifacts@1
+ displayName: 'Publish Verify *.received.* files as Artifacts'
+ name: 'verifypublish'
+ condition: eq(variables['publishverify'], 'Yes')
+ inputs:
+ PathtoPublish: '$(Build.ArtifactStagingDirectory)\Verify'
+ ArtifactName: 'Verify'
+ publishLocation: 'Container'
+```
+
+
diff --git a/docs/wiz/Windows_Other_Cli_XunitV3_GitHubActions.md b/docs/wiz/Windows_Other_Cli_XunitV3_GitHubActions.md
new file mode 100644
index 0000000000..15645fe52e
--- /dev/null
+++ b/docs/wiz/Windows_Other_Cli_XunitV3_GitHubActions.md
@@ -0,0 +1,222 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer CLI](Windows_Other_Cli.md) > [XunitV3](Windows_Other_Cli_XunitV3.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+Use a [if: failure()](https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#failure) condition to upload any `*.received.*` files if the build fails.
+
+```yaml
+- name: Upload Test Results
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: verify-test-results
+ path: |
+ **/*.received.*
+```
+
+
diff --git a/docs/wiz/Windows_Other_Cli_XunitV3_None.md b/docs/wiz/Windows_Other_Cli_XunitV3_None.md
new file mode 100644
index 0000000000..ba280d403d
--- /dev/null
+++ b/docs/wiz/Windows_Other_Cli_XunitV3_None.md
@@ -0,0 +1,207 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer CLI](Windows_Other_Cli.md) > [XunitV3](Windows_Other_Cli_XunitV3.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/wiz/Windows_Other_Cli_Xunit_AppVeyor.md b/docs/wiz/Windows_Other_Cli_Xunit_AppVeyor.md
index 961165f26b..adf973e77e 100644
--- a/docs/wiz/Windows_Other_Cli_Xunit_AppVeyor.md
+++ b/docs/wiz/Windows_Other_Cli_Xunit_AppVeyor.md
@@ -31,9 +31,10 @@ dotnet add package xunit.runner.visualstudio
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Cli_Xunit_AzureDevOps.md b/docs/wiz/Windows_Other_Cli_Xunit_AzureDevOps.md
index 2b51824cba..76b036d4b1 100644
--- a/docs/wiz/Windows_Other_Cli_Xunit_AzureDevOps.md
+++ b/docs/wiz/Windows_Other_Cli_Xunit_AzureDevOps.md
@@ -31,9 +31,10 @@ dotnet add package xunit.runner.visualstudio
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Cli_Xunit_GitHubActions.md b/docs/wiz/Windows_Other_Cli_Xunit_GitHubActions.md
index 341e98f2ba..f73212b6e9 100644
--- a/docs/wiz/Windows_Other_Cli_Xunit_GitHubActions.md
+++ b/docs/wiz/Windows_Other_Cli_Xunit_GitHubActions.md
@@ -31,9 +31,10 @@ dotnet add package xunit.runner.visualstudio
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Cli_Xunit_None.md b/docs/wiz/Windows_Other_Cli_Xunit_None.md
index 029de0b459..3d61b1efda 100644
--- a/docs/wiz/Windows_Other_Cli_Xunit_None.md
+++ b/docs/wiz/Windows_Other_Cli_Xunit_None.md
@@ -31,9 +31,10 @@ dotnet add package xunit.runner.visualstudio
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Gui.md b/docs/wiz/Windows_Other_Gui.md
index e788a2cb02..71ca9199f7 100644
--- a/docs/wiz/Windows_Other_Gui.md
+++ b/docs/wiz/Windows_Other_Gui.md
@@ -13,7 +13,9 @@ To change this file edit the source file and then run MarkdownSnippets.
Options:
* [Xunit](Windows_Other_Gui_Xunit.md)
+ * [XunitV3](Windows_Other_Gui_XunitV3.md)
* [NUnit](Windows_Other_Gui_NUnit.md)
+ * [TUnit](Windows_Other_Gui_TUnit.md)
* [Fixie](Windows_Other_Gui_Fixie.md)
* [MSTest](Windows_Other_Gui_MSTest.md)
* [Expecto](Windows_Other_Gui_Expecto.md)
diff --git a/docs/wiz/Windows_Other_Gui_Expecto_AppVeyor.md b/docs/wiz/Windows_Other_Gui_Expecto_AppVeyor.md
index acd6e152d5..b73a80a37a 100644
--- a/docs/wiz/Windows_Other_Gui_Expecto_AppVeyor.md
+++ b/docs/wiz/Windows_Other_Gui_Expecto_AppVeyor.md
@@ -19,8 +19,8 @@ Add the following packages to the test project:
```fsproj
-
-
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Gui_Expecto_AzureDevOps.md b/docs/wiz/Windows_Other_Gui_Expecto_AzureDevOps.md
index d9d737058d..53494462db 100644
--- a/docs/wiz/Windows_Other_Gui_Expecto_AzureDevOps.md
+++ b/docs/wiz/Windows_Other_Gui_Expecto_AzureDevOps.md
@@ -19,8 +19,8 @@ Add the following packages to the test project:
```fsproj
-
-
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Gui_Expecto_GitHubActions.md b/docs/wiz/Windows_Other_Gui_Expecto_GitHubActions.md
index 0e02aba099..f109ed642f 100644
--- a/docs/wiz/Windows_Other_Gui_Expecto_GitHubActions.md
+++ b/docs/wiz/Windows_Other_Gui_Expecto_GitHubActions.md
@@ -19,8 +19,8 @@ Add the following packages to the test project:
```fsproj
-
-
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Gui_Expecto_None.md b/docs/wiz/Windows_Other_Gui_Expecto_None.md
index 32c949f577..fb402f9a66 100644
--- a/docs/wiz/Windows_Other_Gui_Expecto_None.md
+++ b/docs/wiz/Windows_Other_Gui_Expecto_None.md
@@ -19,8 +19,8 @@ Add the following packages to the test project:
```fsproj
-
-
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Gui_Fixie_AppVeyor.md b/docs/wiz/Windows_Other_Gui_Fixie_AppVeyor.md
index 285225f970..6994b5f1e2 100644
--- a/docs/wiz/Windows_Other_Gui_Fixie_AppVeyor.md
+++ b/docs/wiz/Windows_Other_Gui_Fixie_AppVeyor.md
@@ -18,7 +18,7 @@ Add the following packages to the test project:
```csproj
-
+
```
snippet source | anchor
@@ -35,9 +35,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +55,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +67,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffEngineTray
@@ -153,6 +172,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Windows_Other_Gui_Fixie_AzureDevOps.md b/docs/wiz/Windows_Other_Gui_Fixie_AzureDevOps.md
index c5fe053384..998559f13b 100644
--- a/docs/wiz/Windows_Other_Gui_Fixie_AzureDevOps.md
+++ b/docs/wiz/Windows_Other_Gui_Fixie_AzureDevOps.md
@@ -18,7 +18,7 @@ Add the following packages to the test project:
```csproj
-
+
```
snippet source | anchor
@@ -35,9 +35,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +55,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +67,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffEngineTray
@@ -153,6 +172,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Windows_Other_Gui_Fixie_GitHubActions.md b/docs/wiz/Windows_Other_Gui_Fixie_GitHubActions.md
index 37b4566223..2b5c73e8fa 100644
--- a/docs/wiz/Windows_Other_Gui_Fixie_GitHubActions.md
+++ b/docs/wiz/Windows_Other_Gui_Fixie_GitHubActions.md
@@ -18,7 +18,7 @@ Add the following packages to the test project:
```csproj
-
+
```
snippet source | anchor
@@ -35,9 +35,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +55,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +67,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffEngineTray
@@ -153,6 +172,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Windows_Other_Gui_Fixie_None.md b/docs/wiz/Windows_Other_Gui_Fixie_None.md
index 16620daedc..702358cb68 100644
--- a/docs/wiz/Windows_Other_Gui_Fixie_None.md
+++ b/docs/wiz/Windows_Other_Gui_Fixie_None.md
@@ -18,7 +18,7 @@ Add the following packages to the test project:
```csproj
-
+
```
snippet source | anchor
@@ -35,9 +35,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +55,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +67,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffEngineTray
@@ -153,6 +172,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Windows_Other_Gui_MSTest_AppVeyor.md b/docs/wiz/Windows_Other_Gui_MSTest_AppVeyor.md
index 24f2f4e1df..c7aa12d9d0 100644
--- a/docs/wiz/Windows_Other_Gui_MSTest_AppVeyor.md
+++ b/docs/wiz/Windows_Other_Gui_MSTest_AppVeyor.md
@@ -17,10 +17,11 @@ Add the following packages to the test project:
```csproj
-
-
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -35,9 +36,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +56,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +68,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Gui_MSTest_AzureDevOps.md b/docs/wiz/Windows_Other_Gui_MSTest_AzureDevOps.md
index bd54a3d6ae..e2ecfef922 100644
--- a/docs/wiz/Windows_Other_Gui_MSTest_AzureDevOps.md
+++ b/docs/wiz/Windows_Other_Gui_MSTest_AzureDevOps.md
@@ -17,10 +17,11 @@ Add the following packages to the test project:
```csproj
-
-
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -35,9 +36,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +56,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +68,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Gui_MSTest_GitHubActions.md b/docs/wiz/Windows_Other_Gui_MSTest_GitHubActions.md
index a665023be3..638b5d42cf 100644
--- a/docs/wiz/Windows_Other_Gui_MSTest_GitHubActions.md
+++ b/docs/wiz/Windows_Other_Gui_MSTest_GitHubActions.md
@@ -17,10 +17,11 @@ Add the following packages to the test project:
```csproj
-
-
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -35,9 +36,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +56,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +68,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Gui_MSTest_None.md b/docs/wiz/Windows_Other_Gui_MSTest_None.md
index 66e11ec01b..f0dc866dcb 100644
--- a/docs/wiz/Windows_Other_Gui_MSTest_None.md
+++ b/docs/wiz/Windows_Other_Gui_MSTest_None.md
@@ -17,10 +17,11 @@ Add the following packages to the test project:
```csproj
-
-
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -35,9 +36,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +56,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +68,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Gui_NUnit_AppVeyor.md b/docs/wiz/Windows_Other_Gui_NUnit_AppVeyor.md
index 57001b4895..85b7dc3893 100644
--- a/docs/wiz/Windows_Other_Gui_NUnit_AppVeyor.md
+++ b/docs/wiz/Windows_Other_Gui_NUnit_AppVeyor.md
@@ -17,11 +17,12 @@ Add the following packages to the test project:
```csproj
-
-
-
+
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -36,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -55,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -66,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Gui_NUnit_AzureDevOps.md b/docs/wiz/Windows_Other_Gui_NUnit_AzureDevOps.md
index 7e90d5afed..7ef16cf1e4 100644
--- a/docs/wiz/Windows_Other_Gui_NUnit_AzureDevOps.md
+++ b/docs/wiz/Windows_Other_Gui_NUnit_AzureDevOps.md
@@ -17,11 +17,12 @@ Add the following packages to the test project:
```csproj
-
-
-
+
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -36,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -55,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -66,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Gui_NUnit_GitHubActions.md b/docs/wiz/Windows_Other_Gui_NUnit_GitHubActions.md
index fd7135ff78..f6c364adde 100644
--- a/docs/wiz/Windows_Other_Gui_NUnit_GitHubActions.md
+++ b/docs/wiz/Windows_Other_Gui_NUnit_GitHubActions.md
@@ -17,11 +17,12 @@ Add the following packages to the test project:
```csproj
-
-
-
+
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -36,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -55,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -66,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Gui_NUnit_None.md b/docs/wiz/Windows_Other_Gui_NUnit_None.md
index f0a3a39609..c2087b7465 100644
--- a/docs/wiz/Windows_Other_Gui_NUnit_None.md
+++ b/docs/wiz/Windows_Other_Gui_NUnit_None.md
@@ -17,11 +17,12 @@ Add the following packages to the test project:
```csproj
-
-
-
+
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -36,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -55,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -66,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Gui_TUnit.md b/docs/wiz/Windows_Other_Gui_TUnit.md
new file mode 100644
index 0000000000..1e32954095
--- /dev/null
+++ b/docs/wiz/Windows_Other_Gui_TUnit.md
@@ -0,0 +1,18 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer GUI](Windows_Other_Gui.md) > [TUnit](Windows_Other_Gui_TUnit.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Windows_Other_Gui_TUnit_AppVeyor.md)
+ * [GitHub Actions](Windows_Other_Gui_TUnit_GitHubActions.md)
+ * [Azure DevOps](Windows_Other_Gui_TUnit_AzureDevOps.md)
+ * [No build server](Windows_Other_Gui_TUnit_None.md)
diff --git a/docs/wiz/Windows_Other_Gui_TUnit_AppVeyor.md b/docs/wiz/Windows_Other_Gui_TUnit_AppVeyor.md
new file mode 100644
index 0000000000..7b934d2bbf
--- /dev/null
+++ b/docs/wiz/Windows_Other_Gui_TUnit_AppVeyor.md
@@ -0,0 +1,211 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer GUI](Windows_Other_Gui.md) > [TUnit](Windows_Other_Gui_TUnit.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+Use a [on_failure build step](https://www.appveyor.com/docs/build-configuration/#build-pipeline) to call [Push-AppveyorArtifact](https://www.appveyor.com/docs/build-worker-api/#push-artifact).
+
+```
+on_failure:
+ - ps: Get-ChildItem *.received.* -recurse | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
+```
+
+See also [Pushing artifacts from scripts](https://www.appveyor.com/docs/packaging-artifacts/#pushing-artifacts-from-scripts).
+
diff --git a/docs/wiz/Windows_Other_Gui_TUnit_AzureDevOps.md b/docs/wiz/Windows_Other_Gui_TUnit_AzureDevOps.md
new file mode 100644
index 0000000000..ede09e48ad
--- /dev/null
+++ b/docs/wiz/Windows_Other_Gui_TUnit_AzureDevOps.md
@@ -0,0 +1,239 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer GUI](Windows_Other_Gui.md) > [TUnit](Windows_Other_Gui_TUnit.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+Directly after the test runner step add a build step to set a flag if the testrunner failed. This is done by using a [failed condition](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml). This flag will be evaluated in the CopyFiles and PublishBuildArtifacts steps below.
+
+```yaml
+- task: CmdLine@2
+ displayName: 'Set flag to publish Verify *.received.* files when test step fails'
+ condition: failed()
+ inputs:
+ script: 'echo ##vso[task.setvariable variable=publishverify]Yes'
+```
+
+Since the PublishBuildArtifacts step in DevOps does not allow a wildcard it is necessary to stage the 'received' files before publishing:
+
+```yaml
+- task: CopyFiles@2
+ condition: eq(variables['publishverify'], 'Yes')
+ displayName: 'Copy Verify *.received.* files to Artifact Staging'
+ inputs:
+ contents: '**\*.received.*'
+ targetFolder: '$(Build.ArtifactStagingDirectory)\Verify'
+ cleanTargetFolder: true
+ overWrite: true
+```
+
+Publish the staged files as a build artifact:
+
+```yaml
+- task: PublishBuildArtifacts@1
+ displayName: 'Publish Verify *.received.* files as Artifacts'
+ name: 'verifypublish'
+ condition: eq(variables['publishverify'], 'Yes')
+ inputs:
+ PathtoPublish: '$(Build.ArtifactStagingDirectory)\Verify'
+ ArtifactName: 'Verify'
+ publishLocation: 'Container'
+```
+
+
diff --git a/docs/wiz/Windows_Other_Gui_TUnit_GitHubActions.md b/docs/wiz/Windows_Other_Gui_TUnit_GitHubActions.md
new file mode 100644
index 0000000000..5b9c8da9ed
--- /dev/null
+++ b/docs/wiz/Windows_Other_Gui_TUnit_GitHubActions.md
@@ -0,0 +1,215 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer GUI](Windows_Other_Gui.md) > [TUnit](Windows_Other_Gui_TUnit.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+Use a [if: failure()](https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#failure) condition to upload any `*.received.*` files if the build fails.
+
+```yaml
+- name: Upload Test Results
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: verify-test-results
+ path: |
+ **/*.received.*
+```
+
+
diff --git a/docs/wiz/Windows_Other_Gui_TUnit_None.md b/docs/wiz/Windows_Other_Gui_TUnit_None.md
new file mode 100644
index 0000000000..b6593e9b7a
--- /dev/null
+++ b/docs/wiz/Windows_Other_Gui_TUnit_None.md
@@ -0,0 +1,200 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer GUI](Windows_Other_Gui.md) > [TUnit](Windows_Other_Gui_TUnit.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/wiz/Windows_Other_Gui_XunitV3.md b/docs/wiz/Windows_Other_Gui_XunitV3.md
new file mode 100644
index 0000000000..b2fb784c7f
--- /dev/null
+++ b/docs/wiz/Windows_Other_Gui_XunitV3.md
@@ -0,0 +1,18 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer GUI](Windows_Other_Gui.md) > [XunitV3](Windows_Other_Gui_XunitV3.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Windows_Other_Gui_XunitV3_AppVeyor.md)
+ * [GitHub Actions](Windows_Other_Gui_XunitV3_GitHubActions.md)
+ * [Azure DevOps](Windows_Other_Gui_XunitV3_AzureDevOps.md)
+ * [No build server](Windows_Other_Gui_XunitV3_None.md)
diff --git a/docs/wiz/Windows_Other_Gui_XunitV3_AppVeyor.md b/docs/wiz/Windows_Other_Gui_XunitV3_AppVeyor.md
new file mode 100644
index 0000000000..4b509542b4
--- /dev/null
+++ b/docs/wiz/Windows_Other_Gui_XunitV3_AppVeyor.md
@@ -0,0 +1,212 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer GUI](Windows_Other_Gui.md) > [XunitV3](Windows_Other_Gui_XunitV3.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+Use a [on_failure build step](https://www.appveyor.com/docs/build-configuration/#build-pipeline) to call [Push-AppveyorArtifact](https://www.appveyor.com/docs/build-worker-api/#push-artifact).
+
+```
+on_failure:
+ - ps: Get-ChildItem *.received.* -recurse | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
+```
+
+See also [Pushing artifacts from scripts](https://www.appveyor.com/docs/packaging-artifacts/#pushing-artifacts-from-scripts).
+
diff --git a/docs/wiz/Windows_Other_Gui_XunitV3_AzureDevOps.md b/docs/wiz/Windows_Other_Gui_XunitV3_AzureDevOps.md
new file mode 100644
index 0000000000..73ff919f06
--- /dev/null
+++ b/docs/wiz/Windows_Other_Gui_XunitV3_AzureDevOps.md
@@ -0,0 +1,240 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer GUI](Windows_Other_Gui.md) > [XunitV3](Windows_Other_Gui_XunitV3.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+Directly after the test runner step add a build step to set a flag if the testrunner failed. This is done by using a [failed condition](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml). This flag will be evaluated in the CopyFiles and PublishBuildArtifacts steps below.
+
+```yaml
+- task: CmdLine@2
+ displayName: 'Set flag to publish Verify *.received.* files when test step fails'
+ condition: failed()
+ inputs:
+ script: 'echo ##vso[task.setvariable variable=publishverify]Yes'
+```
+
+Since the PublishBuildArtifacts step in DevOps does not allow a wildcard it is necessary to stage the 'received' files before publishing:
+
+```yaml
+- task: CopyFiles@2
+ condition: eq(variables['publishverify'], 'Yes')
+ displayName: 'Copy Verify *.received.* files to Artifact Staging'
+ inputs:
+ contents: '**\*.received.*'
+ targetFolder: '$(Build.ArtifactStagingDirectory)\Verify'
+ cleanTargetFolder: true
+ overWrite: true
+```
+
+Publish the staged files as a build artifact:
+
+```yaml
+- task: PublishBuildArtifacts@1
+ displayName: 'Publish Verify *.received.* files as Artifacts'
+ name: 'verifypublish'
+ condition: eq(variables['publishverify'], 'Yes')
+ inputs:
+ PathtoPublish: '$(Build.ArtifactStagingDirectory)\Verify'
+ ArtifactName: 'Verify'
+ publishLocation: 'Container'
+```
+
+
diff --git a/docs/wiz/Windows_Other_Gui_XunitV3_GitHubActions.md b/docs/wiz/Windows_Other_Gui_XunitV3_GitHubActions.md
new file mode 100644
index 0000000000..17cbefdd34
--- /dev/null
+++ b/docs/wiz/Windows_Other_Gui_XunitV3_GitHubActions.md
@@ -0,0 +1,216 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer GUI](Windows_Other_Gui.md) > [XunitV3](Windows_Other_Gui_XunitV3.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+Use a [if: failure()](https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#failure) condition to upload any `*.received.*` files if the build fails.
+
+```yaml
+- name: Upload Test Results
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: verify-test-results
+ path: |
+ **/*.received.*
+```
+
+
diff --git a/docs/wiz/Windows_Other_Gui_XunitV3_None.md b/docs/wiz/Windows_Other_Gui_XunitV3_None.md
new file mode 100644
index 0000000000..b8940cfc6d
--- /dev/null
+++ b/docs/wiz/Windows_Other_Gui_XunitV3_None.md
@@ -0,0 +1,201 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Other](Windows_Other.md) > [Prefer GUI](Windows_Other_Gui.md) > [XunitV3](Windows_Other_Gui_XunitV3.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/wiz/Windows_Other_Gui_Xunit_AppVeyor.md b/docs/wiz/Windows_Other_Gui_Xunit_AppVeyor.md
index 99d31f7d7a..248dcb135c 100644
--- a/docs/wiz/Windows_Other_Gui_Xunit_AppVeyor.md
+++ b/docs/wiz/Windows_Other_Gui_Xunit_AppVeyor.md
@@ -17,10 +17,10 @@ Add the following packages to the test project:
```csproj
-
-
-
-
+
+
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Gui_Xunit_AzureDevOps.md b/docs/wiz/Windows_Other_Gui_Xunit_AzureDevOps.md
index dd32deb55a..d417a001cc 100644
--- a/docs/wiz/Windows_Other_Gui_Xunit_AzureDevOps.md
+++ b/docs/wiz/Windows_Other_Gui_Xunit_AzureDevOps.md
@@ -17,10 +17,10 @@ Add the following packages to the test project:
```csproj
-
-
-
-
+
+
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Gui_Xunit_GitHubActions.md b/docs/wiz/Windows_Other_Gui_Xunit_GitHubActions.md
index e6d451797d..7020823e87 100644
--- a/docs/wiz/Windows_Other_Gui_Xunit_GitHubActions.md
+++ b/docs/wiz/Windows_Other_Gui_Xunit_GitHubActions.md
@@ -17,10 +17,10 @@ Add the following packages to the test project:
```csproj
-
-
-
-
+
+
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Other_Gui_Xunit_None.md b/docs/wiz/Windows_Other_Gui_Xunit_None.md
index 8d68eb8319..02946ea737 100644
--- a/docs/wiz/Windows_Other_Gui_Xunit_None.md
+++ b/docs/wiz/Windows_Other_Gui_Xunit_None.md
@@ -17,10 +17,10 @@ Add the following packages to the test project:
```csproj
-
-
-
-
+
+
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Cli.md b/docs/wiz/Windows_Rider_Cli.md
index 7eb86ab28c..6730a07f05 100644
--- a/docs/wiz/Windows_Rider_Cli.md
+++ b/docs/wiz/Windows_Rider_Cli.md
@@ -13,7 +13,9 @@ To change this file edit the source file and then run MarkdownSnippets.
Options:
* [Xunit](Windows_Rider_Cli_Xunit.md)
+ * [XunitV3](Windows_Rider_Cli_XunitV3.md)
* [NUnit](Windows_Rider_Cli_NUnit.md)
+ * [TUnit](Windows_Rider_Cli_TUnit.md)
* [Fixie](Windows_Rider_Cli_Fixie.md)
* [MSTest](Windows_Rider_Cli_MSTest.md)
* [Expecto](Windows_Rider_Cli_Expecto.md)
diff --git a/docs/wiz/Windows_Rider_Cli_Expecto_AppVeyor.md b/docs/wiz/Windows_Rider_Cli_Expecto_AppVeyor.md
index b6f517a235..f0693ec3cd 100644
--- a/docs/wiz/Windows_Rider_Cli_Expecto_AppVeyor.md
+++ b/docs/wiz/Windows_Rider_Cli_Expecto_AppVeyor.md
@@ -30,9 +30,10 @@ dotnet add package Verify.Expecto
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -49,6 +50,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -60,7 +62,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Cli_Expecto_AzureDevOps.md b/docs/wiz/Windows_Rider_Cli_Expecto_AzureDevOps.md
index cf629dc24f..3d1db699cd 100644
--- a/docs/wiz/Windows_Rider_Cli_Expecto_AzureDevOps.md
+++ b/docs/wiz/Windows_Rider_Cli_Expecto_AzureDevOps.md
@@ -30,9 +30,10 @@ dotnet add package Verify.Expecto
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -49,6 +50,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -60,7 +62,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Cli_Expecto_GitHubActions.md b/docs/wiz/Windows_Rider_Cli_Expecto_GitHubActions.md
index 0f187abefb..c6fdef787f 100644
--- a/docs/wiz/Windows_Rider_Cli_Expecto_GitHubActions.md
+++ b/docs/wiz/Windows_Rider_Cli_Expecto_GitHubActions.md
@@ -30,9 +30,10 @@ dotnet add package Verify.Expecto
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -49,6 +50,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -60,7 +62,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Cli_Expecto_None.md b/docs/wiz/Windows_Rider_Cli_Expecto_None.md
index 7c083d57db..1766241151 100644
--- a/docs/wiz/Windows_Rider_Cli_Expecto_None.md
+++ b/docs/wiz/Windows_Rider_Cli_Expecto_None.md
@@ -30,9 +30,10 @@ dotnet add package Verify.Expecto
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -49,6 +50,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -60,7 +62,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Cli_Fixie_AppVeyor.md b/docs/wiz/Windows_Rider_Cli_Fixie_AppVeyor.md
index 320f2004fb..a4aabe16e5 100644
--- a/docs/wiz/Windows_Rider_Cli_Fixie_AppVeyor.md
+++ b/docs/wiz/Windows_Rider_Cli_Fixie_AppVeyor.md
@@ -29,9 +29,10 @@ dotnet add package Verify.Fixie
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -48,6 +49,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -59,7 +61,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffEngineTray
@@ -208,6 +227,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Windows_Rider_Cli_Fixie_AzureDevOps.md b/docs/wiz/Windows_Rider_Cli_Fixie_AzureDevOps.md
index 03ce9cc975..ef4c8af929 100644
--- a/docs/wiz/Windows_Rider_Cli_Fixie_AzureDevOps.md
+++ b/docs/wiz/Windows_Rider_Cli_Fixie_AzureDevOps.md
@@ -29,9 +29,10 @@ dotnet add package Verify.Fixie
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -48,6 +49,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -59,7 +61,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffEngineTray
@@ -208,6 +227,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Windows_Rider_Cli_Fixie_GitHubActions.md b/docs/wiz/Windows_Rider_Cli_Fixie_GitHubActions.md
index 3435582bb4..42f0077b72 100644
--- a/docs/wiz/Windows_Rider_Cli_Fixie_GitHubActions.md
+++ b/docs/wiz/Windows_Rider_Cli_Fixie_GitHubActions.md
@@ -29,9 +29,10 @@ dotnet add package Verify.Fixie
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -48,6 +49,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -59,7 +61,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffEngineTray
@@ -208,6 +227,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Windows_Rider_Cli_Fixie_None.md b/docs/wiz/Windows_Rider_Cli_Fixie_None.md
index 2b95647bde..30b2e6b26d 100644
--- a/docs/wiz/Windows_Rider_Cli_Fixie_None.md
+++ b/docs/wiz/Windows_Rider_Cli_Fixie_None.md
@@ -29,9 +29,10 @@ dotnet add package Verify.Fixie
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -48,6 +49,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -59,7 +61,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffEngineTray
@@ -208,6 +227,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Windows_Rider_Cli_MSTest_AppVeyor.md b/docs/wiz/Windows_Rider_Cli_MSTest_AppVeyor.md
index 50506a05b6..0c7213e9e8 100644
--- a/docs/wiz/Windows_Rider_Cli_MSTest_AppVeyor.md
+++ b/docs/wiz/Windows_Rider_Cli_MSTest_AppVeyor.md
@@ -31,9 +31,10 @@ dotnet add package Verify.MSTest
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Cli_MSTest_AzureDevOps.md b/docs/wiz/Windows_Rider_Cli_MSTest_AzureDevOps.md
index 6a1f643e5b..468e0402ad 100644
--- a/docs/wiz/Windows_Rider_Cli_MSTest_AzureDevOps.md
+++ b/docs/wiz/Windows_Rider_Cli_MSTest_AzureDevOps.md
@@ -31,9 +31,10 @@ dotnet add package Verify.MSTest
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Cli_MSTest_GitHubActions.md b/docs/wiz/Windows_Rider_Cli_MSTest_GitHubActions.md
index f644809b04..0e641dec05 100644
--- a/docs/wiz/Windows_Rider_Cli_MSTest_GitHubActions.md
+++ b/docs/wiz/Windows_Rider_Cli_MSTest_GitHubActions.md
@@ -31,9 +31,10 @@ dotnet add package Verify.MSTest
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Cli_MSTest_None.md b/docs/wiz/Windows_Rider_Cli_MSTest_None.md
index 946abcdabd..62472c5792 100644
--- a/docs/wiz/Windows_Rider_Cli_MSTest_None.md
+++ b/docs/wiz/Windows_Rider_Cli_MSTest_None.md
@@ -31,9 +31,10 @@ dotnet add package Verify.MSTest
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Cli_NUnit_AppVeyor.md b/docs/wiz/Windows_Rider_Cli_NUnit_AppVeyor.md
index 04059431f3..41dee1f35f 100644
--- a/docs/wiz/Windows_Rider_Cli_NUnit_AppVeyor.md
+++ b/docs/wiz/Windows_Rider_Cli_NUnit_AppVeyor.md
@@ -31,9 +31,10 @@ dotnet add package Verify.NUnit
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Cli_NUnit_AzureDevOps.md b/docs/wiz/Windows_Rider_Cli_NUnit_AzureDevOps.md
index 2444bfd930..b702be97df 100644
--- a/docs/wiz/Windows_Rider_Cli_NUnit_AzureDevOps.md
+++ b/docs/wiz/Windows_Rider_Cli_NUnit_AzureDevOps.md
@@ -31,9 +31,10 @@ dotnet add package Verify.NUnit
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Cli_NUnit_GitHubActions.md b/docs/wiz/Windows_Rider_Cli_NUnit_GitHubActions.md
index 24881b77d9..f69f5d1d14 100644
--- a/docs/wiz/Windows_Rider_Cli_NUnit_GitHubActions.md
+++ b/docs/wiz/Windows_Rider_Cli_NUnit_GitHubActions.md
@@ -31,9 +31,10 @@ dotnet add package Verify.NUnit
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Cli_NUnit_None.md b/docs/wiz/Windows_Rider_Cli_NUnit_None.md
index 3ff4735d96..8370afdacb 100644
--- a/docs/wiz/Windows_Rider_Cli_NUnit_None.md
+++ b/docs/wiz/Windows_Rider_Cli_NUnit_None.md
@@ -31,9 +31,10 @@ dotnet add package Verify.NUnit
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Cli_TUnit.md b/docs/wiz/Windows_Rider_Cli_TUnit.md
new file mode 100644
index 0000000000..cd090d654d
--- /dev/null
+++ b/docs/wiz/Windows_Rider_Cli_TUnit.md
@@ -0,0 +1,18 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer CLI](Windows_Rider_Cli.md) > [TUnit](Windows_Rider_Cli_TUnit.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Windows_Rider_Cli_TUnit_AppVeyor.md)
+ * [GitHub Actions](Windows_Rider_Cli_TUnit_GitHubActions.md)
+ * [Azure DevOps](Windows_Rider_Cli_TUnit_AzureDevOps.md)
+ * [No build server](Windows_Rider_Cli_TUnit_None.md)
diff --git a/docs/wiz/Windows_Rider_Cli_TUnit_AppVeyor.md b/docs/wiz/Windows_Rider_Cli_TUnit_AppVeyor.md
new file mode 100644
index 0000000000..08840c8e54
--- /dev/null
+++ b/docs/wiz/Windows_Rider_Cli_TUnit_AppVeyor.md
@@ -0,0 +1,266 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer CLI](Windows_Rider_Cli.md) > [TUnit](Windows_Rider_Cli_TUnit.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+Use a [on_failure build step](https://www.appveyor.com/docs/build-configuration/#build-pipeline) to call [Push-AppveyorArtifact](https://www.appveyor.com/docs/build-worker-api/#push-artifact).
+
+```
+on_failure:
+ - ps: Get-ChildItem *.received.* -recurse | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
+```
+
+See also [Pushing artifacts from scripts](https://www.appveyor.com/docs/packaging-artifacts/#pushing-artifacts-from-scripts).
+
diff --git a/docs/wiz/Windows_Rider_Cli_TUnit_AzureDevOps.md b/docs/wiz/Windows_Rider_Cli_TUnit_AzureDevOps.md
new file mode 100644
index 0000000000..7327e3e686
--- /dev/null
+++ b/docs/wiz/Windows_Rider_Cli_TUnit_AzureDevOps.md
@@ -0,0 +1,294 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer CLI](Windows_Rider_Cli.md) > [TUnit](Windows_Rider_Cli_TUnit.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+Directly after the test runner step add a build step to set a flag if the testrunner failed. This is done by using a [failed condition](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml). This flag will be evaluated in the CopyFiles and PublishBuildArtifacts steps below.
+
+```yaml
+- task: CmdLine@2
+ displayName: 'Set flag to publish Verify *.received.* files when test step fails'
+ condition: failed()
+ inputs:
+ script: 'echo ##vso[task.setvariable variable=publishverify]Yes'
+```
+
+Since the PublishBuildArtifacts step in DevOps does not allow a wildcard it is necessary to stage the 'received' files before publishing:
+
+```yaml
+- task: CopyFiles@2
+ condition: eq(variables['publishverify'], 'Yes')
+ displayName: 'Copy Verify *.received.* files to Artifact Staging'
+ inputs:
+ contents: '**\*.received.*'
+ targetFolder: '$(Build.ArtifactStagingDirectory)\Verify'
+ cleanTargetFolder: true
+ overWrite: true
+```
+
+Publish the staged files as a build artifact:
+
+```yaml
+- task: PublishBuildArtifacts@1
+ displayName: 'Publish Verify *.received.* files as Artifacts'
+ name: 'verifypublish'
+ condition: eq(variables['publishverify'], 'Yes')
+ inputs:
+ PathtoPublish: '$(Build.ArtifactStagingDirectory)\Verify'
+ ArtifactName: 'Verify'
+ publishLocation: 'Container'
+```
+
+
diff --git a/docs/wiz/Windows_Rider_Cli_TUnit_GitHubActions.md b/docs/wiz/Windows_Rider_Cli_TUnit_GitHubActions.md
new file mode 100644
index 0000000000..1b0df2244b
--- /dev/null
+++ b/docs/wiz/Windows_Rider_Cli_TUnit_GitHubActions.md
@@ -0,0 +1,270 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer CLI](Windows_Rider_Cli.md) > [TUnit](Windows_Rider_Cli_TUnit.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+Use a [if: failure()](https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#failure) condition to upload any `*.received.*` files if the build fails.
+
+```yaml
+- name: Upload Test Results
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: verify-test-results
+ path: |
+ **/*.received.*
+```
+
+
diff --git a/docs/wiz/Windows_Rider_Cli_TUnit_None.md b/docs/wiz/Windows_Rider_Cli_TUnit_None.md
new file mode 100644
index 0000000000..da917245ca
--- /dev/null
+++ b/docs/wiz/Windows_Rider_Cli_TUnit_None.md
@@ -0,0 +1,255 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer CLI](Windows_Rider_Cli.md) > [TUnit](Windows_Rider_Cli_TUnit.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/wiz/Windows_Rider_Cli_XunitV3.md b/docs/wiz/Windows_Rider_Cli_XunitV3.md
new file mode 100644
index 0000000000..8965243a8f
--- /dev/null
+++ b/docs/wiz/Windows_Rider_Cli_XunitV3.md
@@ -0,0 +1,18 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer CLI](Windows_Rider_Cli.md) > [XunitV3](Windows_Rider_Cli_XunitV3.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Windows_Rider_Cli_XunitV3_AppVeyor.md)
+ * [GitHub Actions](Windows_Rider_Cli_XunitV3_GitHubActions.md)
+ * [Azure DevOps](Windows_Rider_Cli_XunitV3_AzureDevOps.md)
+ * [No build server](Windows_Rider_Cli_XunitV3_None.md)
diff --git a/docs/wiz/Windows_Rider_Cli_XunitV3_AppVeyor.md b/docs/wiz/Windows_Rider_Cli_XunitV3_AppVeyor.md
new file mode 100644
index 0000000000..7086e48df9
--- /dev/null
+++ b/docs/wiz/Windows_Rider_Cli_XunitV3_AppVeyor.md
@@ -0,0 +1,267 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer CLI](Windows_Rider_Cli.md) > [XunitV3](Windows_Rider_Cli_XunitV3.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+Use a [on_failure build step](https://www.appveyor.com/docs/build-configuration/#build-pipeline) to call [Push-AppveyorArtifact](https://www.appveyor.com/docs/build-worker-api/#push-artifact).
+
+```
+on_failure:
+ - ps: Get-ChildItem *.received.* -recurse | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
+```
+
+See also [Pushing artifacts from scripts](https://www.appveyor.com/docs/packaging-artifacts/#pushing-artifacts-from-scripts).
+
diff --git a/docs/wiz/Windows_Rider_Cli_XunitV3_AzureDevOps.md b/docs/wiz/Windows_Rider_Cli_XunitV3_AzureDevOps.md
new file mode 100644
index 0000000000..10aac46465
--- /dev/null
+++ b/docs/wiz/Windows_Rider_Cli_XunitV3_AzureDevOps.md
@@ -0,0 +1,295 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer CLI](Windows_Rider_Cli.md) > [XunitV3](Windows_Rider_Cli_XunitV3.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+Directly after the test runner step add a build step to set a flag if the testrunner failed. This is done by using a [failed condition](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml). This flag will be evaluated in the CopyFiles and PublishBuildArtifacts steps below.
+
+```yaml
+- task: CmdLine@2
+ displayName: 'Set flag to publish Verify *.received.* files when test step fails'
+ condition: failed()
+ inputs:
+ script: 'echo ##vso[task.setvariable variable=publishverify]Yes'
+```
+
+Since the PublishBuildArtifacts step in DevOps does not allow a wildcard it is necessary to stage the 'received' files before publishing:
+
+```yaml
+- task: CopyFiles@2
+ condition: eq(variables['publishverify'], 'Yes')
+ displayName: 'Copy Verify *.received.* files to Artifact Staging'
+ inputs:
+ contents: '**\*.received.*'
+ targetFolder: '$(Build.ArtifactStagingDirectory)\Verify'
+ cleanTargetFolder: true
+ overWrite: true
+```
+
+Publish the staged files as a build artifact:
+
+```yaml
+- task: PublishBuildArtifacts@1
+ displayName: 'Publish Verify *.received.* files as Artifacts'
+ name: 'verifypublish'
+ condition: eq(variables['publishverify'], 'Yes')
+ inputs:
+ PathtoPublish: '$(Build.ArtifactStagingDirectory)\Verify'
+ ArtifactName: 'Verify'
+ publishLocation: 'Container'
+```
+
+
diff --git a/docs/wiz/Windows_Rider_Cli_XunitV3_GitHubActions.md b/docs/wiz/Windows_Rider_Cli_XunitV3_GitHubActions.md
new file mode 100644
index 0000000000..235cade91b
--- /dev/null
+++ b/docs/wiz/Windows_Rider_Cli_XunitV3_GitHubActions.md
@@ -0,0 +1,271 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer CLI](Windows_Rider_Cli.md) > [XunitV3](Windows_Rider_Cli_XunitV3.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+Use a [if: failure()](https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#failure) condition to upload any `*.received.*` files if the build fails.
+
+```yaml
+- name: Upload Test Results
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: verify-test-results
+ path: |
+ **/*.received.*
+```
+
+
diff --git a/docs/wiz/Windows_Rider_Cli_XunitV3_None.md b/docs/wiz/Windows_Rider_Cli_XunitV3_None.md
new file mode 100644
index 0000000000..04fd1cd487
--- /dev/null
+++ b/docs/wiz/Windows_Rider_Cli_XunitV3_None.md
@@ -0,0 +1,256 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer CLI](Windows_Rider_Cli.md) > [XunitV3](Windows_Rider_Cli_XunitV3.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/wiz/Windows_Rider_Cli_Xunit_AppVeyor.md b/docs/wiz/Windows_Rider_Cli_Xunit_AppVeyor.md
index 13d7a1b414..211997e9b5 100644
--- a/docs/wiz/Windows_Rider_Cli_Xunit_AppVeyor.md
+++ b/docs/wiz/Windows_Rider_Cli_Xunit_AppVeyor.md
@@ -31,9 +31,10 @@ dotnet add package xunit.runner.visualstudio
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Cli_Xunit_AzureDevOps.md b/docs/wiz/Windows_Rider_Cli_Xunit_AzureDevOps.md
index c88396aa02..e662a43d7d 100644
--- a/docs/wiz/Windows_Rider_Cli_Xunit_AzureDevOps.md
+++ b/docs/wiz/Windows_Rider_Cli_Xunit_AzureDevOps.md
@@ -31,9 +31,10 @@ dotnet add package xunit.runner.visualstudio
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Cli_Xunit_GitHubActions.md b/docs/wiz/Windows_Rider_Cli_Xunit_GitHubActions.md
index 5af6bffad0..0310a7c41b 100644
--- a/docs/wiz/Windows_Rider_Cli_Xunit_GitHubActions.md
+++ b/docs/wiz/Windows_Rider_Cli_Xunit_GitHubActions.md
@@ -31,9 +31,10 @@ dotnet add package xunit.runner.visualstudio
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Cli_Xunit_None.md b/docs/wiz/Windows_Rider_Cli_Xunit_None.md
index 6fe7f39f12..58b3d3de16 100644
--- a/docs/wiz/Windows_Rider_Cli_Xunit_None.md
+++ b/docs/wiz/Windows_Rider_Cli_Xunit_None.md
@@ -31,9 +31,10 @@ dotnet add package xunit.runner.visualstudio
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Gui.md b/docs/wiz/Windows_Rider_Gui.md
index 916acc4ee8..116575e064 100644
--- a/docs/wiz/Windows_Rider_Gui.md
+++ b/docs/wiz/Windows_Rider_Gui.md
@@ -13,7 +13,9 @@ To change this file edit the source file and then run MarkdownSnippets.
Options:
* [Xunit](Windows_Rider_Gui_Xunit.md)
+ * [XunitV3](Windows_Rider_Gui_XunitV3.md)
* [NUnit](Windows_Rider_Gui_NUnit.md)
+ * [TUnit](Windows_Rider_Gui_TUnit.md)
* [Fixie](Windows_Rider_Gui_Fixie.md)
* [MSTest](Windows_Rider_Gui_MSTest.md)
* [Expecto](Windows_Rider_Gui_Expecto.md)
diff --git a/docs/wiz/Windows_Rider_Gui_Expecto_AppVeyor.md b/docs/wiz/Windows_Rider_Gui_Expecto_AppVeyor.md
index 52393e2870..c1bbbddf4f 100644
--- a/docs/wiz/Windows_Rider_Gui_Expecto_AppVeyor.md
+++ b/docs/wiz/Windows_Rider_Gui_Expecto_AppVeyor.md
@@ -19,8 +19,8 @@ Add the following packages to the test project:
```fsproj
-
-
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Gui_Expecto_AzureDevOps.md b/docs/wiz/Windows_Rider_Gui_Expecto_AzureDevOps.md
index f1e3ddea7b..742580c2a9 100644
--- a/docs/wiz/Windows_Rider_Gui_Expecto_AzureDevOps.md
+++ b/docs/wiz/Windows_Rider_Gui_Expecto_AzureDevOps.md
@@ -19,8 +19,8 @@ Add the following packages to the test project:
```fsproj
-
-
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Gui_Expecto_GitHubActions.md b/docs/wiz/Windows_Rider_Gui_Expecto_GitHubActions.md
index 768fc82798..c34f9b56c8 100644
--- a/docs/wiz/Windows_Rider_Gui_Expecto_GitHubActions.md
+++ b/docs/wiz/Windows_Rider_Gui_Expecto_GitHubActions.md
@@ -19,8 +19,8 @@ Add the following packages to the test project:
```fsproj
-
-
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Gui_Expecto_None.md b/docs/wiz/Windows_Rider_Gui_Expecto_None.md
index d7cd7a7d70..73ce5289a3 100644
--- a/docs/wiz/Windows_Rider_Gui_Expecto_None.md
+++ b/docs/wiz/Windows_Rider_Gui_Expecto_None.md
@@ -19,8 +19,8 @@ Add the following packages to the test project:
```fsproj
-
-
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Gui_Fixie_AppVeyor.md b/docs/wiz/Windows_Rider_Gui_Fixie_AppVeyor.md
index de3e51b255..bb24f3337d 100644
--- a/docs/wiz/Windows_Rider_Gui_Fixie_AppVeyor.md
+++ b/docs/wiz/Windows_Rider_Gui_Fixie_AppVeyor.md
@@ -18,7 +18,7 @@ Add the following packages to the test project:
```csproj
-
+
```
snippet source | anchor
@@ -35,9 +35,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +55,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +67,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffEngineTray
@@ -202,6 +221,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Windows_Rider_Gui_Fixie_AzureDevOps.md b/docs/wiz/Windows_Rider_Gui_Fixie_AzureDevOps.md
index 5d204fd5b4..085ce732a1 100644
--- a/docs/wiz/Windows_Rider_Gui_Fixie_AzureDevOps.md
+++ b/docs/wiz/Windows_Rider_Gui_Fixie_AzureDevOps.md
@@ -18,7 +18,7 @@ Add the following packages to the test project:
```csproj
-
+
```
snippet source | anchor
@@ -35,9 +35,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +55,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +67,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffEngineTray
@@ -202,6 +221,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Windows_Rider_Gui_Fixie_GitHubActions.md b/docs/wiz/Windows_Rider_Gui_Fixie_GitHubActions.md
index 952789f36b..e3d0129534 100644
--- a/docs/wiz/Windows_Rider_Gui_Fixie_GitHubActions.md
+++ b/docs/wiz/Windows_Rider_Gui_Fixie_GitHubActions.md
@@ -18,7 +18,7 @@ Add the following packages to the test project:
```csproj
-
+
```
snippet source | anchor
@@ -35,9 +35,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +55,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +67,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffEngineTray
@@ -202,6 +221,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Windows_Rider_Gui_Fixie_None.md b/docs/wiz/Windows_Rider_Gui_Fixie_None.md
index d97147589a..2452b74183 100644
--- a/docs/wiz/Windows_Rider_Gui_Fixie_None.md
+++ b/docs/wiz/Windows_Rider_Gui_Fixie_None.md
@@ -18,7 +18,7 @@ Add the following packages to the test project:
```csproj
-
+
```
snippet source | anchor
@@ -35,9 +35,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +55,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +67,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffEngineTray
@@ -202,6 +221,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Windows_Rider_Gui_MSTest_AppVeyor.md b/docs/wiz/Windows_Rider_Gui_MSTest_AppVeyor.md
index ce9ade6e92..238e46d38a 100644
--- a/docs/wiz/Windows_Rider_Gui_MSTest_AppVeyor.md
+++ b/docs/wiz/Windows_Rider_Gui_MSTest_AppVeyor.md
@@ -17,10 +17,11 @@ Add the following packages to the test project:
```csproj
-
-
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -35,9 +36,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +56,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +68,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Gui_MSTest_AzureDevOps.md b/docs/wiz/Windows_Rider_Gui_MSTest_AzureDevOps.md
index a91c951e81..17c1962578 100644
--- a/docs/wiz/Windows_Rider_Gui_MSTest_AzureDevOps.md
+++ b/docs/wiz/Windows_Rider_Gui_MSTest_AzureDevOps.md
@@ -17,10 +17,11 @@ Add the following packages to the test project:
```csproj
-
-
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -35,9 +36,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +56,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +68,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Gui_MSTest_GitHubActions.md b/docs/wiz/Windows_Rider_Gui_MSTest_GitHubActions.md
index b8b3ade33a..7375c7f24b 100644
--- a/docs/wiz/Windows_Rider_Gui_MSTest_GitHubActions.md
+++ b/docs/wiz/Windows_Rider_Gui_MSTest_GitHubActions.md
@@ -17,10 +17,11 @@ Add the following packages to the test project:
```csproj
-
-
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -35,9 +36,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +56,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +68,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Gui_MSTest_None.md b/docs/wiz/Windows_Rider_Gui_MSTest_None.md
index bb54488bcc..bcd2077284 100644
--- a/docs/wiz/Windows_Rider_Gui_MSTest_None.md
+++ b/docs/wiz/Windows_Rider_Gui_MSTest_None.md
@@ -17,10 +17,11 @@ Add the following packages to the test project:
```csproj
-
-
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -35,9 +36,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -54,6 +56,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -65,7 +68,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Gui_NUnit_AppVeyor.md b/docs/wiz/Windows_Rider_Gui_NUnit_AppVeyor.md
index 815e6ae321..b843e5942f 100644
--- a/docs/wiz/Windows_Rider_Gui_NUnit_AppVeyor.md
+++ b/docs/wiz/Windows_Rider_Gui_NUnit_AppVeyor.md
@@ -17,11 +17,12 @@ Add the following packages to the test project:
```csproj
-
-
-
+
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -36,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -55,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -66,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Gui_NUnit_AzureDevOps.md b/docs/wiz/Windows_Rider_Gui_NUnit_AzureDevOps.md
index 056cec1b2d..b6b3e4b368 100644
--- a/docs/wiz/Windows_Rider_Gui_NUnit_AzureDevOps.md
+++ b/docs/wiz/Windows_Rider_Gui_NUnit_AzureDevOps.md
@@ -17,11 +17,12 @@ Add the following packages to the test project:
```csproj
-
-
-
+
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -36,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -55,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -66,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Gui_NUnit_GitHubActions.md b/docs/wiz/Windows_Rider_Gui_NUnit_GitHubActions.md
index 922b70dd42..6bc356a967 100644
--- a/docs/wiz/Windows_Rider_Gui_NUnit_GitHubActions.md
+++ b/docs/wiz/Windows_Rider_Gui_NUnit_GitHubActions.md
@@ -17,11 +17,12 @@ Add the following packages to the test project:
```csproj
-
-
-
+
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -36,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -55,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -66,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Gui_NUnit_None.md b/docs/wiz/Windows_Rider_Gui_NUnit_None.md
index 664eaead5d..71915b7730 100644
--- a/docs/wiz/Windows_Rider_Gui_NUnit_None.md
+++ b/docs/wiz/Windows_Rider_Gui_NUnit_None.md
@@ -17,11 +17,12 @@ Add the following packages to the test project:
```csproj
-
-
-
+
+
+
+
```
-snippet source | anchor
+snippet source | anchor
@@ -36,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -55,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -66,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Gui_TUnit.md b/docs/wiz/Windows_Rider_Gui_TUnit.md
new file mode 100644
index 0000000000..874dd5dc46
--- /dev/null
+++ b/docs/wiz/Windows_Rider_Gui_TUnit.md
@@ -0,0 +1,18 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer GUI](Windows_Rider_Gui.md) > [TUnit](Windows_Rider_Gui_TUnit.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Windows_Rider_Gui_TUnit_AppVeyor.md)
+ * [GitHub Actions](Windows_Rider_Gui_TUnit_GitHubActions.md)
+ * [Azure DevOps](Windows_Rider_Gui_TUnit_AzureDevOps.md)
+ * [No build server](Windows_Rider_Gui_TUnit_None.md)
diff --git a/docs/wiz/Windows_Rider_Gui_TUnit_AppVeyor.md b/docs/wiz/Windows_Rider_Gui_TUnit_AppVeyor.md
new file mode 100644
index 0000000000..3a838f1d82
--- /dev/null
+++ b/docs/wiz/Windows_Rider_Gui_TUnit_AppVeyor.md
@@ -0,0 +1,260 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer GUI](Windows_Rider_Gui.md) > [TUnit](Windows_Rider_Gui_TUnit.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+Use a [on_failure build step](https://www.appveyor.com/docs/build-configuration/#build-pipeline) to call [Push-AppveyorArtifact](https://www.appveyor.com/docs/build-worker-api/#push-artifact).
+
+```
+on_failure:
+ - ps: Get-ChildItem *.received.* -recurse | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
+```
+
+See also [Pushing artifacts from scripts](https://www.appveyor.com/docs/packaging-artifacts/#pushing-artifacts-from-scripts).
+
diff --git a/docs/wiz/Windows_Rider_Gui_TUnit_AzureDevOps.md b/docs/wiz/Windows_Rider_Gui_TUnit_AzureDevOps.md
new file mode 100644
index 0000000000..25284dcf4e
--- /dev/null
+++ b/docs/wiz/Windows_Rider_Gui_TUnit_AzureDevOps.md
@@ -0,0 +1,288 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer GUI](Windows_Rider_Gui.md) > [TUnit](Windows_Rider_Gui_TUnit.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+Directly after the test runner step add a build step to set a flag if the testrunner failed. This is done by using a [failed condition](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml). This flag will be evaluated in the CopyFiles and PublishBuildArtifacts steps below.
+
+```yaml
+- task: CmdLine@2
+ displayName: 'Set flag to publish Verify *.received.* files when test step fails'
+ condition: failed()
+ inputs:
+ script: 'echo ##vso[task.setvariable variable=publishverify]Yes'
+```
+
+Since the PublishBuildArtifacts step in DevOps does not allow a wildcard it is necessary to stage the 'received' files before publishing:
+
+```yaml
+- task: CopyFiles@2
+ condition: eq(variables['publishverify'], 'Yes')
+ displayName: 'Copy Verify *.received.* files to Artifact Staging'
+ inputs:
+ contents: '**\*.received.*'
+ targetFolder: '$(Build.ArtifactStagingDirectory)\Verify'
+ cleanTargetFolder: true
+ overWrite: true
+```
+
+Publish the staged files as a build artifact:
+
+```yaml
+- task: PublishBuildArtifacts@1
+ displayName: 'Publish Verify *.received.* files as Artifacts'
+ name: 'verifypublish'
+ condition: eq(variables['publishverify'], 'Yes')
+ inputs:
+ PathtoPublish: '$(Build.ArtifactStagingDirectory)\Verify'
+ ArtifactName: 'Verify'
+ publishLocation: 'Container'
+```
+
+
diff --git a/docs/wiz/Windows_Rider_Gui_TUnit_GitHubActions.md b/docs/wiz/Windows_Rider_Gui_TUnit_GitHubActions.md
new file mode 100644
index 0000000000..a98c358f04
--- /dev/null
+++ b/docs/wiz/Windows_Rider_Gui_TUnit_GitHubActions.md
@@ -0,0 +1,264 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer GUI](Windows_Rider_Gui.md) > [TUnit](Windows_Rider_Gui_TUnit.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+Use a [if: failure()](https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#failure) condition to upload any `*.received.*` files if the build fails.
+
+```yaml
+- name: Upload Test Results
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: verify-test-results
+ path: |
+ **/*.received.*
+```
+
+
diff --git a/docs/wiz/Windows_Rider_Gui_TUnit_None.md b/docs/wiz/Windows_Rider_Gui_TUnit_None.md
new file mode 100644
index 0000000000..4f2df90eae
--- /dev/null
+++ b/docs/wiz/Windows_Rider_Gui_TUnit_None.md
@@ -0,0 +1,249 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer GUI](Windows_Rider_Gui.md) > [TUnit](Windows_Rider_Gui_TUnit.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/wiz/Windows_Rider_Gui_XunitV3.md b/docs/wiz/Windows_Rider_Gui_XunitV3.md
new file mode 100644
index 0000000000..78cf8f7686
--- /dev/null
+++ b/docs/wiz/Windows_Rider_Gui_XunitV3.md
@@ -0,0 +1,18 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer GUI](Windows_Rider_Gui.md) > [XunitV3](Windows_Rider_Gui_XunitV3.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Windows_Rider_Gui_XunitV3_AppVeyor.md)
+ * [GitHub Actions](Windows_Rider_Gui_XunitV3_GitHubActions.md)
+ * [Azure DevOps](Windows_Rider_Gui_XunitV3_AzureDevOps.md)
+ * [No build server](Windows_Rider_Gui_XunitV3_None.md)
diff --git a/docs/wiz/Windows_Rider_Gui_XunitV3_AppVeyor.md b/docs/wiz/Windows_Rider_Gui_XunitV3_AppVeyor.md
new file mode 100644
index 0000000000..02f3ffa528
--- /dev/null
+++ b/docs/wiz/Windows_Rider_Gui_XunitV3_AppVeyor.md
@@ -0,0 +1,261 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer GUI](Windows_Rider_Gui.md) > [XunitV3](Windows_Rider_Gui_XunitV3.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+Use a [on_failure build step](https://www.appveyor.com/docs/build-configuration/#build-pipeline) to call [Push-AppveyorArtifact](https://www.appveyor.com/docs/build-worker-api/#push-artifact).
+
+```
+on_failure:
+ - ps: Get-ChildItem *.received.* -recurse | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
+```
+
+See also [Pushing artifacts from scripts](https://www.appveyor.com/docs/packaging-artifacts/#pushing-artifacts-from-scripts).
+
diff --git a/docs/wiz/Windows_Rider_Gui_XunitV3_AzureDevOps.md b/docs/wiz/Windows_Rider_Gui_XunitV3_AzureDevOps.md
new file mode 100644
index 0000000000..96436388cc
--- /dev/null
+++ b/docs/wiz/Windows_Rider_Gui_XunitV3_AzureDevOps.md
@@ -0,0 +1,289 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer GUI](Windows_Rider_Gui.md) > [XunitV3](Windows_Rider_Gui_XunitV3.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+Directly after the test runner step add a build step to set a flag if the testrunner failed. This is done by using a [failed condition](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml). This flag will be evaluated in the CopyFiles and PublishBuildArtifacts steps below.
+
+```yaml
+- task: CmdLine@2
+ displayName: 'Set flag to publish Verify *.received.* files when test step fails'
+ condition: failed()
+ inputs:
+ script: 'echo ##vso[task.setvariable variable=publishverify]Yes'
+```
+
+Since the PublishBuildArtifacts step in DevOps does not allow a wildcard it is necessary to stage the 'received' files before publishing:
+
+```yaml
+- task: CopyFiles@2
+ condition: eq(variables['publishverify'], 'Yes')
+ displayName: 'Copy Verify *.received.* files to Artifact Staging'
+ inputs:
+ contents: '**\*.received.*'
+ targetFolder: '$(Build.ArtifactStagingDirectory)\Verify'
+ cleanTargetFolder: true
+ overWrite: true
+```
+
+Publish the staged files as a build artifact:
+
+```yaml
+- task: PublishBuildArtifacts@1
+ displayName: 'Publish Verify *.received.* files as Artifacts'
+ name: 'verifypublish'
+ condition: eq(variables['publishverify'], 'Yes')
+ inputs:
+ PathtoPublish: '$(Build.ArtifactStagingDirectory)\Verify'
+ ArtifactName: 'Verify'
+ publishLocation: 'Container'
+```
+
+
diff --git a/docs/wiz/Windows_Rider_Gui_XunitV3_GitHubActions.md b/docs/wiz/Windows_Rider_Gui_XunitV3_GitHubActions.md
new file mode 100644
index 0000000000..36d2129e06
--- /dev/null
+++ b/docs/wiz/Windows_Rider_Gui_XunitV3_GitHubActions.md
@@ -0,0 +1,265 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer GUI](Windows_Rider_Gui.md) > [XunitV3](Windows_Rider_Gui_XunitV3.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+Use a [if: failure()](https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#failure) condition to upload any `*.received.*` files if the build fails.
+
+```yaml
+- name: Upload Test Results
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: verify-test-results
+ path: |
+ **/*.received.*
+```
+
+
diff --git a/docs/wiz/Windows_Rider_Gui_XunitV3_None.md b/docs/wiz/Windows_Rider_Gui_XunitV3_None.md
new file mode 100644
index 0000000000..8ba406a773
--- /dev/null
+++ b/docs/wiz/Windows_Rider_Gui_XunitV3_None.md
@@ -0,0 +1,250 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [JetBrains Rider](Windows_Rider.md) > [Prefer GUI](Windows_Rider_Gui.md) > [XunitV3](Windows_Rider_Gui_XunitV3.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+
+
+
+```csproj
+
+
+
+
+```
+snippet source | anchor
+
+
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## Rider Plugin
+
+Install the [Rider Plugin](https://plugins.jetbrains.com/plugin/17240-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the Rider test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```xml
+
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/wiz/Windows_Rider_Gui_Xunit_AppVeyor.md b/docs/wiz/Windows_Rider_Gui_Xunit_AppVeyor.md
index 6efddb84e6..8d9d5225a4 100644
--- a/docs/wiz/Windows_Rider_Gui_Xunit_AppVeyor.md
+++ b/docs/wiz/Windows_Rider_Gui_Xunit_AppVeyor.md
@@ -17,10 +17,10 @@ Add the following packages to the test project:
```csproj
-
-
-
-
+
+
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Gui_Xunit_AzureDevOps.md b/docs/wiz/Windows_Rider_Gui_Xunit_AzureDevOps.md
index fda539cfd5..4e3d50ad89 100644
--- a/docs/wiz/Windows_Rider_Gui_Xunit_AzureDevOps.md
+++ b/docs/wiz/Windows_Rider_Gui_Xunit_AzureDevOps.md
@@ -17,10 +17,10 @@ Add the following packages to the test project:
```csproj
-
-
-
-
+
+
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Gui_Xunit_GitHubActions.md b/docs/wiz/Windows_Rider_Gui_Xunit_GitHubActions.md
index 42cdb2c776..13c7b5742c 100644
--- a/docs/wiz/Windows_Rider_Gui_Xunit_GitHubActions.md
+++ b/docs/wiz/Windows_Rider_Gui_Xunit_GitHubActions.md
@@ -17,10 +17,10 @@ Add the following packages to the test project:
```csproj
-
-
-
-
+
+
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_Rider_Gui_Xunit_None.md b/docs/wiz/Windows_Rider_Gui_Xunit_None.md
index 6443493e1b..d1f7ed848f 100644
--- a/docs/wiz/Windows_Rider_Gui_Xunit_None.md
+++ b/docs/wiz/Windows_Rider_Gui_Xunit_None.md
@@ -17,10 +17,10 @@ Add the following packages to the test project:
```csproj
-
-
-
-
+
+
+
+
```
snippet source | anchor
@@ -37,9 +37,10 @@ Add the following packages to the test project:
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -56,6 +57,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -67,7 +69,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli.md
index 7ba657a816..8228850296 100644
--- a/docs/wiz/Windows_VisualStudioWithReSharper_Cli.md
+++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli.md
@@ -13,7 +13,9 @@ To change this file edit the source file and then run MarkdownSnippets.
Options:
* [Xunit](Windows_VisualStudioWithReSharper_Cli_Xunit.md)
+ * [XunitV3](Windows_VisualStudioWithReSharper_Cli_XunitV3.md)
* [NUnit](Windows_VisualStudioWithReSharper_Cli_NUnit.md)
+ * [TUnit](Windows_VisualStudioWithReSharper_Cli_TUnit.md)
* [Fixie](Windows_VisualStudioWithReSharper_Cli_Fixie.md)
* [MSTest](Windows_VisualStudioWithReSharper_Cli_MSTest.md)
* [Expecto](Windows_VisualStudioWithReSharper_Cli_Expecto.md)
diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_AppVeyor.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_AppVeyor.md
index bb64d44e3c..62fc0fdea3 100644
--- a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_AppVeyor.md
+++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_AppVeyor.md
@@ -30,9 +30,10 @@ dotnet add package Verify.Expecto
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -49,6 +50,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -60,7 +62,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_AzureDevOps.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_AzureDevOps.md
index b2a095907a..fcc7189f39 100644
--- a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_AzureDevOps.md
+++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_AzureDevOps.md
@@ -30,9 +30,10 @@ dotnet add package Verify.Expecto
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -49,6 +50,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -60,7 +62,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_GitHubActions.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_GitHubActions.md
index c55272cf3e..9cf86279ee 100644
--- a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_GitHubActions.md
+++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_GitHubActions.md
@@ -30,9 +30,10 @@ dotnet add package Verify.Expecto
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -49,6 +50,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -60,7 +62,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_None.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_None.md
index 4ff62c6fa2..121a7fe8f5 100644
--- a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_None.md
+++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_None.md
@@ -30,9 +30,10 @@ dotnet add package Verify.Expecto
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -49,6 +50,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -60,7 +62,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Tests]
+ public static Test verifyChecksTest = Runner.TestCase(
+ nameof(verifyChecksTest),
+ () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly));
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_AppVeyor.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_AppVeyor.md
index fe5a947a19..73e8ddab24 100644
--- a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_AppVeyor.md
+++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_AppVeyor.md
@@ -29,9 +29,10 @@ dotnet add package Verify.Fixie
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -48,6 +49,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -59,7 +61,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffEngineTray
@@ -216,6 +235,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_AzureDevOps.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_AzureDevOps.md
index 1d0bf671f5..b09d09aa2d 100644
--- a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_AzureDevOps.md
+++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_AzureDevOps.md
@@ -29,9 +29,10 @@ dotnet add package Verify.Fixie
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -48,6 +49,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -59,7 +61,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffEngineTray
@@ -216,6 +235,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_GitHubActions.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_GitHubActions.md
index 78b4890f06..a594adee00 100644
--- a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_GitHubActions.md
+++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_GitHubActions.md
@@ -29,9 +29,10 @@ dotnet add package Verify.Fixie
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -48,6 +49,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -59,7 +61,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffEngineTray
@@ -216,6 +235,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_None.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_None.md
index 2c95511f8c..d0bb62643d 100644
--- a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_None.md
+++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Fixie_None.md
@@ -29,9 +29,10 @@ dotnet add package Verify.Fixie
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -48,6 +49,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -59,7 +61,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ public Task Run() =>
+ VerifyChecks.Run(GetType().Assembly);
+}
+```
+snippet source | anchor
+
## DiffEngineTray
@@ -216,6 +235,65 @@ public class Sample
snippet source | anchor
+
+Fixie is less opinionated than other test frameworks. As such it leaves up to the consumer how to configure test execution.
+
+To enable Verify the [ITestProject and IExecution interfaces](https://github.com/fixie/fixie/wiki/Customizing-the-Test-Project-Lifecycle#the-default-convention) need to be used.
+
+Requirements:
+
+ * Assign the target assembly in `ITestProject.Configure` using `VerifierSettings.AssignTargetAssembly`
+ * Wrap test executions in `IExecution.Run` using `ExecutionState.Set`
+
+An example implementation of the above:
+
+
+
+```cs
+public class TestProject :
+ ITestProject,
+ IExecution
+{
+ public void Configure(TestConfiguration configuration, TestEnvironment environment)
+ {
+ VerifierSettings.AssignTargetAssembly(environment.Assembly);
+ configuration.Conventions.Add();
+ }
+
+ public async Task Run(TestSuite testSuite)
+ {
+ foreach (var testClass in testSuite.TestClasses)
+ {
+ foreach (var test in testClass.Tests)
+ {
+ if (test.HasParameters)
+ {
+ foreach (var parameters in test
+ .GetAll()
+ .Select(_ => _.Parameters))
+ {
+ using (ExecutionState.Set(testClass, test, parameters))
+ {
+ await test.Run(parameters);
+ }
+ }
+ }
+ else
+ {
+ using (ExecutionState.Set(testClass, test, null))
+ {
+ await test.Run();
+ }
+ }
+ }
+ }
+ }
+}
+```
+snippet source | anchor
+
+
+
## Diff Tool
Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_AppVeyor.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_AppVeyor.md
index be2dfa2824..7eb5fe9cd6 100644
--- a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_AppVeyor.md
+++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_AppVeyor.md
@@ -31,9 +31,10 @@ dotnet add package Verify.MSTest
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_AzureDevOps.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_AzureDevOps.md
index 727392c3df..25b445864f 100644
--- a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_AzureDevOps.md
+++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_AzureDevOps.md
@@ -31,9 +31,10 @@ dotnet add package Verify.MSTest
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_GitHubActions.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_GitHubActions.md
index 1b35a60113..efafd3fbd4 100644
--- a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_GitHubActions.md
+++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_GitHubActions.md
@@ -31,9 +31,10 @@ dotnet add package Verify.MSTest
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_None.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_None.md
index c85ce43071..23692aefc5 100644
--- a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_None.md
+++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_MSTest_None.md
@@ -31,9 +31,10 @@ dotnet add package Verify.MSTest
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestClass]
+public partial class VerifyChecksTests
+{
+ [TestMethod]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_AppVeyor.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_AppVeyor.md
index 0fe76eace3..3b84f51564 100644
--- a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_AppVeyor.md
+++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_AppVeyor.md
@@ -31,9 +31,10 @@ dotnet add package Verify.NUnit
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_AzureDevOps.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_AzureDevOps.md
index 5cf1ac7060..1ae5fb54ee 100644
--- a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_AzureDevOps.md
+++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_AzureDevOps.md
@@ -31,9 +31,10 @@ dotnet add package Verify.NUnit
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_GitHubActions.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_GitHubActions.md
index 5d81cdcd54..ef83a455b3 100644
--- a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_GitHubActions.md
+++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_GitHubActions.md
@@ -31,9 +31,10 @@ dotnet add package Verify.NUnit
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_None.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_None.md
index 8a105f3905..fd7e392ffa 100644
--- a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_None.md
+++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_NUnit_None.md
@@ -31,9 +31,10 @@ dotnet add package Verify.NUnit
If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
-## Source Control
+## Conventions
-### Includes/Excludes
+
+### Source Control Includes/Excludes
* **All `*.received.*` files should be excluded from source control.**
@@ -50,6 +51,7 @@ If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniqued
All `*.verified.*` files should be committed to source control.
+
### Text file settings
Text variants of verified and received have the following characteristics:
@@ -61,7 +63,7 @@ Text variants of verified and received have the following characteristics:
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
## DiffEngineTray
diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_TUnit.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_TUnit.md
new file mode 100644
index 0000000000..6d2acd4c8b
--- /dev/null
+++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_TUnit.md
@@ -0,0 +1,18 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio with ReSharper](Windows_VisualStudioWithReSharper.md) > [Prefer CLI](Windows_VisualStudioWithReSharper_Cli.md) > [TUnit](Windows_VisualStudioWithReSharper_Cli_TUnit.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Windows_VisualStudioWithReSharper_Cli_TUnit_AppVeyor.md)
+ * [GitHub Actions](Windows_VisualStudioWithReSharper_Cli_TUnit_GitHubActions.md)
+ * [Azure DevOps](Windows_VisualStudioWithReSharper_Cli_TUnit_AzureDevOps.md)
+ * [No build server](Windows_VisualStudioWithReSharper_Cli_TUnit_None.md)
diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_TUnit_AppVeyor.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_TUnit_AppVeyor.md
new file mode 100644
index 0000000000..519c17acd3
--- /dev/null
+++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_TUnit_AppVeyor.md
@@ -0,0 +1,274 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio with ReSharper](Windows_VisualStudioWithReSharper.md) > [Prefer CLI](Windows_VisualStudioWithReSharper_Cli.md) > [TUnit](Windows_VisualStudioWithReSharper_Cli_TUnit.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## ReSharper
+
+
+### Orphaned process detection
+
+[Disable orphaned process detection](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#disable-orphaned-process-detection).
+
+
+## Verify Plugin
+
+Install the [ReSharper Plugin](https://plugins.jetbrains.com/plugin/17241-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the ReSharper test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+Use a [on_failure build step](https://www.appveyor.com/docs/build-configuration/#build-pipeline) to call [Push-AppveyorArtifact](https://www.appveyor.com/docs/build-worker-api/#push-artifact).
+
+```
+on_failure:
+ - ps: Get-ChildItem *.received.* -recurse | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
+```
+
+See also [Pushing artifacts from scripts](https://www.appveyor.com/docs/packaging-artifacts/#pushing-artifacts-from-scripts).
+
diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_TUnit_AzureDevOps.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_TUnit_AzureDevOps.md
new file mode 100644
index 0000000000..047bf461f8
--- /dev/null
+++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_TUnit_AzureDevOps.md
@@ -0,0 +1,302 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio with ReSharper](Windows_VisualStudioWithReSharper.md) > [Prefer CLI](Windows_VisualStudioWithReSharper_Cli.md) > [TUnit](Windows_VisualStudioWithReSharper_Cli_TUnit.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## ReSharper
+
+
+### Orphaned process detection
+
+[Disable orphaned process detection](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#disable-orphaned-process-detection).
+
+
+## Verify Plugin
+
+Install the [ReSharper Plugin](https://plugins.jetbrains.com/plugin/17241-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the ReSharper test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+Directly after the test runner step add a build step to set a flag if the testrunner failed. This is done by using a [failed condition](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml). This flag will be evaluated in the CopyFiles and PublishBuildArtifacts steps below.
+
+```yaml
+- task: CmdLine@2
+ displayName: 'Set flag to publish Verify *.received.* files when test step fails'
+ condition: failed()
+ inputs:
+ script: 'echo ##vso[task.setvariable variable=publishverify]Yes'
+```
+
+Since the PublishBuildArtifacts step in DevOps does not allow a wildcard it is necessary to stage the 'received' files before publishing:
+
+```yaml
+- task: CopyFiles@2
+ condition: eq(variables['publishverify'], 'Yes')
+ displayName: 'Copy Verify *.received.* files to Artifact Staging'
+ inputs:
+ contents: '**\*.received.*'
+ targetFolder: '$(Build.ArtifactStagingDirectory)\Verify'
+ cleanTargetFolder: true
+ overWrite: true
+```
+
+Publish the staged files as a build artifact:
+
+```yaml
+- task: PublishBuildArtifacts@1
+ displayName: 'Publish Verify *.received.* files as Artifacts'
+ name: 'verifypublish'
+ condition: eq(variables['publishverify'], 'Yes')
+ inputs:
+ PathtoPublish: '$(Build.ArtifactStagingDirectory)\Verify'
+ ArtifactName: 'Verify'
+ publishLocation: 'Container'
+```
+
+
diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_TUnit_GitHubActions.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_TUnit_GitHubActions.md
new file mode 100644
index 0000000000..374a6c3034
--- /dev/null
+++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_TUnit_GitHubActions.md
@@ -0,0 +1,278 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio with ReSharper](Windows_VisualStudioWithReSharper.md) > [Prefer CLI](Windows_VisualStudioWithReSharper_Cli.md) > [TUnit](Windows_VisualStudioWithReSharper_Cli_TUnit.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## ReSharper
+
+
+### Orphaned process detection
+
+[Disable orphaned process detection](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#disable-orphaned-process-detection).
+
+
+## Verify Plugin
+
+Install the [ReSharper Plugin](https://plugins.jetbrains.com/plugin/17241-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the ReSharper test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+Use a [if: failure()](https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#failure) condition to upload any `*.received.*` files if the build fails.
+
+```yaml
+- name: Upload Test Results
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: verify-test-results
+ path: |
+ **/*.received.*
+```
+
+
diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_TUnit_None.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_TUnit_None.md
new file mode 100644
index 0000000000..03f94611d2
--- /dev/null
+++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_TUnit_None.md
@@ -0,0 +1,263 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio with ReSharper](Windows_VisualStudioWithReSharper.md) > [Prefer CLI](Windows_VisualStudioWithReSharper_Cli.md) > [TUnit](Windows_VisualStudioWithReSharper_Cli_TUnit.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package TUnit
+dotnet add package Verify.TUnit
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+[TestFixture]
+public class VerifyChecksTests
+{
+ [Test]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## ReSharper
+
+
+### Orphaned process detection
+
+[Disable orphaned process detection](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#disable-orphaned-process-detection).
+
+
+## Verify Plugin
+
+Install the [ReSharper Plugin](https://plugins.jetbrains.com/plugin/17241-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the ReSharper test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Test]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_XunitV3.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_XunitV3.md
new file mode 100644
index 0000000000..03f7424163
--- /dev/null
+++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_XunitV3.md
@@ -0,0 +1,18 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio with ReSharper](Windows_VisualStudioWithReSharper.md) > [Prefer CLI](Windows_VisualStudioWithReSharper_Cli.md) > [XunitV3](Windows_VisualStudioWithReSharper_Cli_XunitV3.md)
+
+## Select Build Server
+
+Options:
+ * [AppVeyor](Windows_VisualStudioWithReSharper_Cli_XunitV3_AppVeyor.md)
+ * [GitHub Actions](Windows_VisualStudioWithReSharper_Cli_XunitV3_GitHubActions.md)
+ * [Azure DevOps](Windows_VisualStudioWithReSharper_Cli_XunitV3_AzureDevOps.md)
+ * [No build server](Windows_VisualStudioWithReSharper_Cli_XunitV3_None.md)
diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_XunitV3_AppVeyor.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_XunitV3_AppVeyor.md
new file mode 100644
index 0000000000..3c730c1cc5
--- /dev/null
+++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_XunitV3_AppVeyor.md
@@ -0,0 +1,275 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio with ReSharper](Windows_VisualStudioWithReSharper.md) > [Prefer CLI](Windows_VisualStudioWithReSharper_Cli.md) > [XunitV3](Windows_VisualStudioWithReSharper_Cli_XunitV3.md) > AppVeyor
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## ReSharper
+
+
+### Orphaned process detection
+
+[Disable orphaned process detection](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#disable-orphaned-process-detection).
+
+
+## Verify Plugin
+
+Install the [ReSharper Plugin](https://plugins.jetbrains.com/plugin/17241-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the ReSharper test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on AppVeyor
+
+Use a [on_failure build step](https://www.appveyor.com/docs/build-configuration/#build-pipeline) to call [Push-AppveyorArtifact](https://www.appveyor.com/docs/build-worker-api/#push-artifact).
+
+```
+on_failure:
+ - ps: Get-ChildItem *.received.* -recurse | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
+```
+
+See also [Pushing artifacts from scripts](https://www.appveyor.com/docs/packaging-artifacts/#pushing-artifacts-from-scripts).
+
diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_XunitV3_AzureDevOps.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_XunitV3_AzureDevOps.md
new file mode 100644
index 0000000000..941d32f85e
--- /dev/null
+++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_XunitV3_AzureDevOps.md
@@ -0,0 +1,303 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio with ReSharper](Windows_VisualStudioWithReSharper.md) > [Prefer CLI](Windows_VisualStudioWithReSharper_Cli.md) > [XunitV3](Windows_VisualStudioWithReSharper_Cli_XunitV3.md) > Azure DevOps
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## ReSharper
+
+
+### Orphaned process detection
+
+[Disable orphaned process detection](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#disable-orphaned-process-detection).
+
+
+## Verify Plugin
+
+Install the [ReSharper Plugin](https://plugins.jetbrains.com/plugin/17241-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the ReSharper test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on Azure DevOps
+
+Directly after the test runner step add a build step to set a flag if the testrunner failed. This is done by using a [failed condition](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml). This flag will be evaluated in the CopyFiles and PublishBuildArtifacts steps below.
+
+```yaml
+- task: CmdLine@2
+ displayName: 'Set flag to publish Verify *.received.* files when test step fails'
+ condition: failed()
+ inputs:
+ script: 'echo ##vso[task.setvariable variable=publishverify]Yes'
+```
+
+Since the PublishBuildArtifacts step in DevOps does not allow a wildcard it is necessary to stage the 'received' files before publishing:
+
+```yaml
+- task: CopyFiles@2
+ condition: eq(variables['publishverify'], 'Yes')
+ displayName: 'Copy Verify *.received.* files to Artifact Staging'
+ inputs:
+ contents: '**\*.received.*'
+ targetFolder: '$(Build.ArtifactStagingDirectory)\Verify'
+ cleanTargetFolder: true
+ overWrite: true
+```
+
+Publish the staged files as a build artifact:
+
+```yaml
+- task: PublishBuildArtifacts@1
+ displayName: 'Publish Verify *.received.* files as Artifacts'
+ name: 'verifypublish'
+ condition: eq(variables['publishverify'], 'Yes')
+ inputs:
+ PathtoPublish: '$(Build.ArtifactStagingDirectory)\Verify'
+ ArtifactName: 'Verify'
+ publishLocation: 'Container'
+```
+
+
diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_XunitV3_GitHubActions.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_XunitV3_GitHubActions.md
new file mode 100644
index 0000000000..786ff68ab0
--- /dev/null
+++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_XunitV3_GitHubActions.md
@@ -0,0 +1,279 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio with ReSharper](Windows_VisualStudioWithReSharper.md) > [Prefer CLI](Windows_VisualStudioWithReSharper_Cli.md) > [XunitV3](Windows_VisualStudioWithReSharper_Cli_XunitV3.md) > GitHub Actions
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+snippet source | anchor
+
+
+
+## DiffEngineTray
+
+Install [DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md)
+
+DiffEngineTray sits in the Windows tray. It monitors pending changes in snapshots, and provides a mechanism for accepting or rejecting those changes.
+
+```
+dotnet tool install -g DiffEngineTray
+```
+
+This is optional, but recommended. Also consider enabling [Run at startup](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md#run-at-startup).
+
+
+## ReSharper
+
+
+### Orphaned process detection
+
+[Disable orphaned process detection](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#disable-orphaned-process-detection).
+
+
+## Verify Plugin
+
+Install the [ReSharper Plugin](https://plugins.jetbrains.com/plugin/17241-verify-support)
+
+Provides a mechanism for contextually accepting or rejecting snapshot changes inside the ReSharper test runner.
+
+This is optional, but recommended.
+
+## Disable orphaned process detection
+
+Resharper and Rider have a feature [Check for orphaned processes spawned by test runner](https://www.jetbrains.com/help/resharper/Reference__Options__Tools__Unit_Testing__Test_Runner.html).
+
+> By default, a list of all processes that are launched by the executed tests. If some of theses processes do not exit after the test execution is over, ReSharper will suggest you to terminate the process. If your setup requires some processes started by the tests to continue running, you can clear this checkbox to avoid unnecessary notifications.
+
+Since this project launches diff tools, it will trigger this feature and a dialog will show:
+
+> All unit tests are finished, but child processes spawned by the test runner process are still running. Terminate child process?
+
+
+
+As such this feature needs to be disabled:
+
+
+### Disable for solution
+
+Add the following to `[Solution].sln.DotSettings`.
+
+```
+DoNothing
+```
+
+
+### Disable for machine
+
+
+#### Resharper
+
+ReSharper | Options | Tools | Unit Testing | Test Runner
+
+
+
+
+#### Rider
+
+File | Settings | Manage Layers | This computer | Edit Layer | Build, Execution, Deployment | Unit Testing | Test Runner
+
+
+
+## DiffPlex
+
+The text comparison behavior of Verify is pluggable. The default behaviour, on failure, is to output both the received
+and the verified contents as part of the exception. This can be noisy when verifying large strings.
+
+[Verify.DiffPlex](https://github.com/VerifyTests/Verify.DiffPlex) changes the text compare result to highlighting text differences inline.
+
+This is optional, but recommended.
+
+### Add the NuGet
+
+```
+dotnet add package Verify.DiffPlex
+```
+
+### Enable
+
+```cs
+[ModuleInitializer]
+public static void Initialize() =>
+ VerifyDiffPlex.Initialize();
+```
+
+## Verify.Terminal
+
+[Verify.Terminal](https://github.com/VerifyTests/Verify.Terminal) is a dotnet tool for managing snapshots from the command line.
+
+This is optional.
+
+### Install the tool
+
+```
+dotnet tool install -g verify.tool
+```
+
+
+## Sample Test
+
+
+
+```cs
+public class Sample
+{
+ [Fact]
+ public Task Test()
+ {
+ var person = ClassBeingTested.FindPerson();
+ return Verify(person);
+ }
+}
+```
+snippet source | anchor
+
+
+## Diff Tool
+
+Verify supports many [Diff Tools](https://github.com/VerifyTests/DiffEngine/blob/main/docs/diff-tool.md#supported-tools) for comparing received to verified.
+While IDEs are supported, due to their MDI nature, using a different Diff Tool is recommended.
+
+Tools supported by Windows:
+
+ * [BeyondCompare](https://www.scootersoftware.com)
+ * [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
+ * [DeltaWalker](https://www.deltawalker.com/)
+ * [WinMerge](https://winmerge.org/)
+ * [TortoiseGitMerge](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseGitIDiff](https://tortoisegit.org/docs/tortoisegitmerge/)
+ * [TortoiseMerge](https://tortoisesvn.net/TortoiseMerge.html)
+ * [TortoiseIDiff](https://tortoisesvn.net/TortoiseIDiff.html)
+ * [KDiff3](https://github.com/KDE/kdiff3)
+ * [Guiffy](https://www.guiffy.com/)
+ * [ExamDiff](https://www.prestosoft.com/edp_examdiffpro.asp)
+ * [Diffinity](https://truehumandesign.se/s_diffinity.php)
+ * [Rider](https://www.jetbrains.com/rider/)
+ * [Vim](https://www.vim.org/)
+ * [Neovim](https://neovim.io/)
+
+## Getting .received in output on GitHub Actions
+
+Use a [if: failure()](https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#failure) condition to upload any `*.received.*` files if the build fails.
+
+```yaml
+- name: Upload Test Results
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: verify-test-results
+ path: |
+ **/*.received.*
+```
+
+
diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_XunitV3_None.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_XunitV3_None.md
new file mode 100644
index 0000000000..d962af9a2d
--- /dev/null
+++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_XunitV3_None.md
@@ -0,0 +1,264 @@
+
+
+# Getting Started Wizard
+
+[Home](/docs/wiz/readme.md) > [Windows](Windows.md) > [Visual Studio with ReSharper](Windows_VisualStudioWithReSharper.md) > [Prefer CLI](Windows_VisualStudioWithReSharper_Cli.md) > [XunitV3](Windows_VisualStudioWithReSharper_Cli_XunitV3.md) > No build server
+
+## Add NuGet packages
+
+Add the following packages to the test project:
+
+```
+dotnet add package Microsoft.NET.Test.Sdk
+dotnet add package Verify.XunitV3
+dotnet add package xunit.v3 --prerelease
+dotnet add package xunit.runner.visualstudio --prerelease
+```
+
+## Implicit Usings
+
+**All examples use [Implicit Usings](https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#implicitusings). Ensure `` is set to `enable` to ensure examples compile correctly.**
+
+```
+enable
+```
+
+If `ImplicitUsings` are not enabled, substitute usages of `Verify()` with `Verifier.Verify()`.
+
+
+## Conventions
+
+
+### Source Control Includes/Excludes
+
+ * **All `*.received.*` files should be excluded from source control.**
+
+eg. add the following to `.gitignore`
+
+```
+*.received.*
+```
+
+If using [UseSplitModeForUniqueDirectory](/docs/naming.md#usesplitmodeforuniquedirectory) also include:
+
+`*.received/`
+
+
+All `*.verified.*` files should be committed to source control.
+
+
+### Text file settings
+
+Text variants of verified and received have the following characteristics:
+
+ * UTF8 with a [Byte order mark (BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)
+ * Newlines as line-feed (lf)
+ * No trailing newline
+
+This manifests in several ways:
+
+
+#### Source control settings
+
+All text extensions of `*.verified.*` should have:
+
+ * `eol` set to `lf`
+ * `working-tree-encoding` set to `UTF-8`
+
+eg add the following to `.gitattributes`
+
+```
+*.verified.txt text eol=lf working-tree-encoding=UTF-8
+*.verified.xml text eol=lf working-tree-encoding=UTF-8
+*.verified.json text eol=lf working-tree-encoding=UTF-8
+```
+
+#### EditorConfig settings
+
+If modifying text verified/received files in an editor, it is desirable for the editor to respect the above conventions. For [EditorConfig](https://editorconfig.org/) enabled the following can be used:
+
+```
+# Verify settings
+[*.{received,verified}.{json,txt,xml}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
+```
+
+
+**Note that the above are suggested for subset of text extension. Add others as required based on the text file types being verified.**
+
+
+### Conventions check
+
+Conventions can be checked by calling `VerifyChecks.Run()` in a test
+
+
+
+```cs
+public class VerifyChecksTests
+{
+ [Fact]
+ public Task Run() =>
+ VerifyChecks.Run();
+}
+```
+