fluentassertions / fluentassertions/fluentassertions.analyzers

Create a refactoring for asserting exceptions properties

Abierto
#55 3 comentarios 0 reacciones 0 asignados Ver en GitHub
idea
Lenguaje dominante
C#
Estrellas
131
Forks
25
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

for example:

```cs
public class MyCustomException : Exception
{
public string MyCustomProperty { get; }

public MyCustomException(string myCustomProperty)
{
MyCustomProperty = MyCustomProperty;
}
}
```

when hovering over the property `MyCustomProperty` I would like to have a suggestion to generate an assertion for that property.

The generated assertion will something like this:
```cs
public static class MyCustomExceptionExtensions
{
public static ExceptionAssertions WithMyCustomProperty(this ExceptionAssertions assertions,
string expectedMyCustomProperty, string because = "", params object[] becauseArgs) where TException : MyCustomException
{
Execute.Assertion
.ForCondition(assertions.And.MyCustomProperty.Equals(expectedMyCustomProperty))
.BecauseOf(because, becauseArgs)
.FailWith("Expected exception with MyCustomProperty {0}{reason}, but found {1}.", assertions.And.MyCustomProperty, expectedMyCustomProperty);
return assertions;
}
}
```

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Como en el issue no se mencionan archivos, pruebas ni puntos de entrada, localiza primero las implementaciones de refactoring del analyzer y sus pruebas. Usa el ejemplo solicitado de una propiedad de excepción en C# para definir la assertion generada y verifica que, al pasar el cursor sobre una propiedad, se ofrezca el refactoring con el resultado esperado.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
csharp
Área
devtools, testing-qa
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.