Assert.AddValueFormatter Método

Definición

Sobrecargas

Nombre Description
AddValueFormatter(Func<Func<Object,String>,Func<Object,String>>)

Registra una fábrica de formateadores de valores de cadena de responsabilidad. El generador recibe el next formateador en la cadena y devuelve un nuevo formateador; el formateador devuelto debe generar una cadena para los valores que controla o delegar en next para los valores que no controla. El registro se limita al flujo asincrónico actual y se quita cuando se elimina el devuelto IDisposable .

AddValueFormatter<T>(Func<T,String>)

Registra un formateador personalizado que controla cómo se representan los valores de dentro de T los mensajes de error de aserción estructurados. El registro tiene como ámbito el flujo asincrónico actual (respaldado por AsyncLocal<T>) y se quita cuando se elimina el devuelto IDisposable .

AddValueFormatter(Func<Func<Object,String>,Func<Object,String>>)

Source:
Assert.AddValueFormatter.cs

Registra una fábrica de formateadores de valores de cadena de responsabilidad. El generador recibe el next formateador en la cadena y devuelve un nuevo formateador; el formateador devuelto debe generar una cadena para los valores que controla o delegar en next para los valores que no controla. El registro se limita al flujo asincrónico actual y se quita cuando se elimina el devuelto IDisposable .

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

factory
Func<Func<Object,String>,Func<Object,String>>

Función que recibe el siguiente formateador de la cadena y devuelve un formateador para instalarlo por delante.

Devoluciones

Cuya IDisposable eliminación quita el registro.

Atributos

Excepciones

factory es null.

Comentarios

Use esta sobrecarga cuando necesite inspeccionar más de un solo tipo (por ejemplo, para representar cualquier objeto que implemente una interfaz de marcador) o cuando necesite un control explícito sobre la delegación en next. Para el caso común de "dar formato a un tipo específico" prefiere AddValueFormatter<T>(Func<T,String>).

factory es el generador de cadenas, no el propio formateador: se invoca cada vez que se representa un valor mientras el registro está activo (la cadena se vuelve a generar por representación para que se respete la eliminación desordenada de otros registros), no solo una vez en el momento del registro. Mantenerla barata y libre de efectos secundarios; realice cualquier instalación costosa fuera de la fábrica y haga que devuelva un formateador que se cierre sobre el estado precomputado.

Se aplica a

AddValueFormatter<T>(Func<T,String>)

Source:
Assert.AddValueFormatter.cs

Registra un formateador personalizado que controla cómo se representan los valores de dentro de T los mensajes de error de aserción estructurados. El registro tiene como ámbito el flujo asincrónico actual (respaldado por AsyncLocal<T>) y se quita cuando se elimina el devuelto 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

Parámetros de tipo

T

Tipo cuya representación representada debe personalizarse.

Parámetros

formatter
Func<T,String>

Función que devuelve la representación de cadena que se va a usar o null para pasar al siguiente formateador registrado (o el representador integrado cuando ningún otro formateador controla el valor).

Devoluciones

Cuya IDisposable eliminación quita el registro.

Atributos

Excepciones

formatter es null.

Ejemplos

[TestMethod]
public void DateTimeFailureShowsKind()
{
    using var _ = Assert.AddValueFormatter<DateTime>(dt => $"{dt:O} [{dt.Kind}]");
    Assert.AreEqual(DateTime.UtcNow, DateTime.Now);
}

Comentarios

Los formateadores solo afectan a cómo se representan los valores en los mensajes de error. No cambian las comparaciones de igualdad realizadas por aserciones como Assert.AreEqual. Para personalizar la igualdad, use las sobrecargas existentes IEqualityComparer<T> .

Pila de registros más reciente: primero se consulta el formateador registrado más reciente. Un formateador que devuelve null aplaza al siguiente formateador y, en última instancia, al representador integrado. null Los valores siempre se representan como "null" mediante el representador integrado y nunca se pasan a formateadores de usuario.

Sitios de registro comunes y su ámbito efectivo:

  • Dentro de : [TestMethod]ese método de prueba (y sus continuaciones asincrónicas).
  • [TestInitialize]: cada prueba de la clase contenedora.
  • [ClassInitialize]: todas las pruebas de la clase contenedora.
  • [AssemblyInitialize]: todas las pruebas del ensamblado contenedor.

Se aplica a