Assert.AddValueFormatter Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 |
| AddValueFormatter<T>(Func<T,String>) |
Registra un formateador personalizado que controla cómo se representan los valores de dentro de |
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
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
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.