Assert.AddValueFormatter Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Sobrecargas
| Nome | Description |
|---|---|
| AddValueFormatter(Func<Func<Object,String>,Func<Object,String>>) |
Registra uma fábrica de formator de valor de cadeia de responsabilidade. A fábrica recebe o |
| AddValueFormatter<T>(Func<T,String>) |
Registra um formatador personalizado que controla como os valores são renderizados dentro de |
AddValueFormatter(Func<Func<Object,String>,Func<Object,String>>)
- Origem:
- Assert.AddValueFormatter.cs
Registra uma fábrica de formator de valor de cadeia de responsabilidade. A fábrica recebe o next formatador na cadeia e retorna um novo formatador; o formatador retornado deve produzir uma cadeia de caracteres para os valores que manipula ou delegar next para os valores que não manipula.
O registro tem como escopo o fluxo assíncrono atual e é removido quando o retornado IDisposable é descartado.
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
Parâmetros
Uma função que recebe o próximo formatador na cadeia e retorna um formatador para instalar antes dela.
Retornos
Um IDisposable cujo descarte remove o registro.
- Atributos
Exceções
factory é null.
Comentários
Use essa sobrecarga quando precisar inspecionar mais de um único tipo (por exemplo, para renderizar qualquer objeto que implemente uma interface de marcador) ou quando precisar de controle explícito sobre a delegação para next. Para o caso comum de "formatar um tipo específico", prefira AddValueFormatter<T>(Func<T,String>).
factory é o construtor de cadeias, não o próprio formatador: ele é invocado sempre que um valor é renderizado enquanto o registro está ativo (a cadeia é recriada por renderização para que o descarte fora de ordem de outros registros seja respeitado), não apenas uma vez no momento do registro. Mantenha-o barato e livre de efeitos colaterais; execute qualquer configuração cara fora da fábrica e faça com que ele retorne um formatador que fecha sobre o estado pré-compilado.
Aplica-se a
AddValueFormatter<T>(Func<T,String>)
- Origem:
- Assert.AddValueFormatter.cs
Registra um formatador personalizado que controla como os valores são renderizados dentro de T mensagens de falha de asserção estruturadas. O registro tem como escopo o fluxo assíncrono atual (com suporte AsyncLocal<T>) e é removido quando o retornado IDisposable é descartado.
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
Parâmetros de tipo
- T
O tipo cuja representação renderizada deve ser personalizada.
Parâmetros
Uma função que retorna a representação de cadeia de caracteres a ser usada ou null para se enquadrar no próximo formatador registrado (ou o renderizador interno quando nenhum outro formatador manipula o valor).
Retornos
Um IDisposable cujo descarte remove o registro.
- Atributos
Exceções
formatter é null.
Exemplos
[TestMethod]
public void DateTimeFailureShowsKind()
{
using var _ = Assert.AddValueFormatter<DateTime>(dt => $"{dt:O} [{dt.Kind}]");
Assert.AreEqual(DateTime.UtcNow, DateTime.Now);
}
Comentários
Os formatadores afetam apenas como os valores são renderizados em mensagens de falha. Elas não alteram as comparações de igualdade executadas por declarações como Assert.AreEqual. Para personalizar a igualdade, use as sobrecargas existentes IEqualityComparer<T> .
Os registros empilham o mais recente primeiro: o formatador registrado mais recentemente é consultado primeiro. Um formatador que retorna null adiamentos para o próximo formatador e, por fim, para o renderizador interno.
null os valores são sempre renderizados como "null" pelo renderizador interno e nunca são passados para formatadores de usuário.
Sites de registro comuns e seu escopo efetivo:
- Dentro de um
[TestMethod]: esse método de teste (e suas continuações assíncronas). -
[TestInitialize]: cada teste na classe que contém. -
[ClassInitialize]: todos os testes na classe que contém. -
[AssemblyInitialize]: todos os testes no assembly que contém.