Skip to content

Latest commit

 

History

History
140 lines (116 loc) · 4.63 KB

File metadata and controls

140 lines (116 loc) · 4.63 KB

Verify Options

OnHandlers

  • OnVerify takes two actions that are called before and after each verification.
  • OnFirstVerify is called when there is no verified file.
  • OnVerifyMismatch is called when a received file does not match the existing verified file.

AutoVerify

OnHandlers are called before AutoVerify logic being applied. So for example in the case of OnVerifyMismatch, both the received and verified file will exist at the point OnVerifyMismatch is called. Immediately after received will be used to overwrite verified.

Globally

public static class ModuleInitializer
{
    [ModuleInitializer]
    public static void Init()
    {
        VerifierSettings.OnVerify(
            before: () => Debug.WriteLine("before"),
            after: () => Debug.WriteLine("after"));
        VerifierSettings.OnFirstVerify(
            (receivedFile, receivedText, autoVerify) =>
            {
                Debug.WriteLine(receivedFile);
                Debug.WriteLine(receivedText);
                return Task.CompletedTask;
            });
        VerifierSettings.OnVerifyMismatch(
            (filePair, message, autoVerify) =>
            {
                Debug.WriteLine(filePair.ReceivedPath);
                Debug.WriteLine(filePair.VerifiedPath);
                Debug.WriteLine(message);
                return Task.CompletedTask;
            });
    }
}

snippet source | anchor

Instance

[Fact]
public Task OnCallbacks()
{
    var settings = new VerifySettings();
    settings.OnVerify(
        before: () => Debug.WriteLine("before"),
        after: () => Debug.WriteLine("after"));
    settings.OnFirstVerify(
        (receivedFile, receivedText, autoVerify) =>
        {
            Debug.WriteLine(receivedFile);
            Debug.WriteLine(receivedText);
            return Task.CompletedTask;
        });
    settings.OnVerifyMismatch(
        (filePair, message, autoVerify) =>
        {
            Debug.WriteLine(filePair.ReceivedPath);
            Debug.WriteLine(filePair.VerifiedPath);
            Debug.WriteLine(message);
            return Task.CompletedTask;
        });

    return Verify("value", settings);
}

snippet source | anchor

Fluent

[Fact]
public Task OnFluentCallbacks() =>
    Verify("value")
        .OnVerify(
            before: () => Debug.WriteLine("before"),
            after: () => Debug.WriteLine("after"))
        .OnFirstVerify(
            (receivedFile, receivedText, autoVerify) =>
            {
                Debug.WriteLine(receivedFile);
                Debug.WriteLine(receivedText);
                return Task.CompletedTask;
            })
        .OnVerifyMismatch(
            (filePair, message, autoVerify) =>
            {
                Debug.WriteLine(filePair.ReceivedPath);
                Debug.WriteLine(filePair.VerifiedPath);
                Debug.WriteLine(message);
                return Task.CompletedTask;
            });

snippet source | anchor

OmitContentFromException

By default, when a verify mismatch occurs for text, the content of the received and verified files is included in the exception that is thrown. This results in that text being included in test runners and build output. To omit the content use VerifierSettings.OmitContentFromException.

DisableDiff

To disable diff launching:

var settings = new VerifySettings();
settings.DisableDiff();

snippet source | anchor