Assert.AddValueFormatter Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
| Nome | Descrizione |
|---|---|
| AddValueFormatter(Func<Func<Object,String>,Func<Object,String>>) |
Registra una factory concatenatore di valori di responsabilità. La factory riceve il |
| AddValueFormatter<T>(Func<T,String>) |
Registra un formattatore personalizzato che controlla la modalità di rendering dei valori di all'interno di messaggi di errore di |
AddValueFormatter(Func<Func<Object,String>,Func<Object,String>>)
- Origine:
- Assert.AddValueFormatter.cs
Registra una factory concatenatore di valori di responsabilità. La factory riceve il next formattatore nella catena e restituisce un nuovo formattatore. Il formattatore restituito deve produrre una stringa per i valori gestiti o delegare a per i valori a next cui non gestisce.
La registrazione ha come ambito il flusso asincrono corrente e viene rimossa quando l'oggetto restituito IDisposable viene eliminato.
public static IDisposable AddValueFormatter(Func<Func<object?,string>,Func<object?,string>> factory);
[System.Diagnostics.CodeAnalysis.Experimental("MSTESTEXP", UrlFormat="https://aka.ms/mstest/diagnostics#{0}")]
public static IDisposable AddValueFormatter(Func<Func<object?,string>,Func<object?,string>> factory);
static member AddValueFormatter : Func<Func<obj, string>, Func<obj, string>> -> IDisposable
[<System.Diagnostics.CodeAnalysis.Experimental("MSTESTEXP", UrlFormat="https://aka.ms/mstest/diagnostics#{0}")>]
static member AddValueFormatter : Func<Func<obj, string>, Func<obj, string>> -> IDisposable
Public Shared Function AddValueFormatter (factory As Func(Of Func(Of Object, String), Func(Of Object, String))) As IDisposable
Parametri
Funzione che riceve il formattatore successivo nella catena e restituisce un formattatore da installare in anticipo.
Valori restituiti
Oggetto IDisposable la cui eliminazione rimuove la registrazione.
- Attributi
Eccezioni
factory è null.
Commenti
Usare questo overload quando è necessario esaminare più di un singolo tipo (ad esempio per eseguire il rendering di qualsiasi oggetto che implementa un'interfaccia di marcatore) o quando è necessario un controllo esplicito sulla delega a next. Per il caso comune "formattare un tipo specifico" preferisce AddValueFormatter<T>(Func<T,String>).
factory è il generatore di catena, non il formattatore stesso: viene richiamato ogni volta che viene eseguito il rendering di un valore mentre la registrazione è attiva (la catena viene ricompilata per rendering in modo che lo smaltimento non ordinato di altre registrazioni venga rispettato), non solo una volta al momento della registrazione. Tenerlo a buon mercato e effetto collaterale libero; eseguire qualsiasi configurazione costosa all'esterno della factory e fare in modo che restituisca un formattatore che si chiude sullo stato precomputto.
Si applica a
AddValueFormatter<T>(Func<T,String>)
- Origine:
- Assert.AddValueFormatter.cs
Registra un formattatore personalizzato che controlla la modalità di rendering dei valori di all'interno di messaggi di errore di T asserzione strutturata. La registrazione ha come ambito il flusso asincrono corrente (supportato da AsyncLocal<T>) e viene rimossa quando viene eliminato il restituito IDisposable .
public static IDisposable AddValueFormatter<T>(Func<T,string?> formatter);
[System.Diagnostics.CodeAnalysis.Experimental("MSTESTEXP", UrlFormat="https://aka.ms/mstest/diagnostics#{0}")]
public static IDisposable AddValueFormatter<T>(Func<T,string?> formatter);
static member AddValueFormatter : Func<'T, string> -> IDisposable
[<System.Diagnostics.CodeAnalysis.Experimental("MSTESTEXP", UrlFormat="https://aka.ms/mstest/diagnostics#{0}")>]
static member AddValueFormatter : Func<'T, string> -> IDisposable
Public Shared Function AddValueFormatter(Of T) (formatter As Func(Of T, String)) As IDisposable
Parametri di tipo
- T
Tipo la cui rappresentazione sottoposta a rendering deve essere personalizzata.
Parametri
Funzione che restituisce la rappresentazione di stringa da usare o null per passare al formattatore registrato successivo (o al renderer predefinito quando nessun altro formattatore gestisce il valore).
Valori restituiti
Oggetto IDisposable la cui eliminazione rimuove la registrazione.
- Attributi
Eccezioni
formatter è null.
Esempio
[TestMethod]
public void DateTimeFailureShowsKind()
{
using var _ = Assert.AddValueFormatter<DateTime>(dt => $"{dt:O} [{dt.Kind}]");
Assert.AreEqual(DateTime.UtcNow, DateTime.Now);
}
Commenti
I formattatori influiscono solo sulla modalità di rendering dei valori nei messaggi di errore. Non modificano i confronti di uguaglianza eseguiti dalle asserzioni, Assert.AreEqualad esempio . Per personalizzare l'uguaglianza, usare gli overload esistenti IEqualityComparer<T> .
Stack di registrazioni più recente: il formattatore registrato più di recente viene consultato per primo. Un formattatore che restituisce null defers al formattatore successivo e infine al renderer predefinito.
null i valori vengono sempre visualizzati come "null" dal renderer predefinito e non vengono mai passati ai formattatori utente.
Siti di registrazione comuni e ambito effettivo:
- All'interno di un oggetto
[TestMethod]: metodo di test (e delle relative continuazioni asincrone). -
[TestInitialize]: ogni test nella classe contenitore. -
[ClassInitialize]: tutti i test nella classe contenitore. -
[AssemblyInitialize]: tutti i test nell'assembly contenitore.