Behaviour change when checking Func for null (4.5.1->5.0.0)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 1/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 72/100
- Tipo de issue
- Documentación
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- csharp
- Área
- documentation
Línea de trabajo
Encuentra la documentación sobre los cambios incompatibles de la versión 4.6.0 de NUnit; el issue no indica ningún archivo, así que empieza buscando en la documentación las notas de migración de TestDelegate y ActualValueDelegate. Añade una nota que explique que Assert.That(testFunc, Is.Not.Null) ejecuta el delegate a partir de la versión 4.6.0, mientras que las versiones anteriores comprobaban si el propio delegate era null. La tarea estará completa cuando el comportamiento de la migración esté claramente documentado para quienes actualicen desde la versión 4.5.1.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Hi,
I've noticed that with the change from the TestDelegate/ActualValueDelegate (starting with 4.6.0) asserting that a method actually returns a valid non-null delegate now evaluates the delegate but in 4.5.1 and before it was actually checked for null. This might lead to behaviour changes when migrating and it was - at least for me - not obvious by just reading the breaking changes, so maybe it warrants to be mentioned there.
Here's a small working example:
using NUnit.Framework;
using System;
using System.Collections.Generic;
public class TestFuncForNull
{
private readonly HashSet<string> m_HashSet = new();
[Test]
public void TestForNull()
{
Func<bool> testFunc = CreateFunc();
Assert.That(testFunc, Is.Not.Null); // checked for null before 4.6.0, evaluates the testFunc starting with 4.6.0
bool result = testFunc();
Assert.That(result, Is.True);
}
private Func<bool> CreateFunc()
{
return () => m_HashSet.Add("test");
}
}
- Lenguaje dominante
- Dockerfile
- Estrellas
- 601
- Forks
- 159
- Merge medio
- 1 d 3 h
- PR fusionados (30 d)
- 15
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de nunit/docs
-
type:newpage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Document load-time vs execution-time constraints for test data sources and custom attributesAbiertoarea:adapter area:framework
Dificultad 4/5 3-5 días Aptitud para principiantes 40/100
nunit/docs#1258 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
area:framework
Dificultad 4/5 3-5 días Aptitud para principiantes 40/100
nunit/docs#1151 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Document F# EqualToAbiertoarea:framework
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
Los mantenedores suelen responder en 1 día
-
area:framework
Los mantenedores suelen responder en 1 día
Todos los issues de nunit/docs
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
drevendev/BeautifulRepo#42 ·
Los mantenedores suelen responder en 1 día
-
documentation good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
writerslogic/holographic-memory#96 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
OpenTollGate/tollgate-module-basic-go#1027 ·
Los mantenedores suelen responder en 1 día
-
Old versions of datamodelsAbiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
-
documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
NatLabRockies/OpenStudio-HPXML#2284 ·