Add custom exception assertions
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Documentation
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- java
- Domaine
- documentation
Piste de recherche
Commencez par la section existante « 2.6.2 Custom Assertions » du guide AssertJ lié et examinez le dépôt assertj-examples lié pour voir ses exemples d’assertions actuels. Confirmez comment les assertions personnalisées d’exception s’intègrent dans la hiérarchie de classes existante, puis documentez aux deux endroits un exemple couvrant le message de l’exception et les champs de détail.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Currently, the documentation shows how to extend an assertion in 2.6.2 Custom Assertions but there is no documentation for custom exception asserts, which seems to use a slightly different mechanism with some other class hierarchy.
It would be nice to include this in the guide and in the examples repository
The goal for this section in the guide will be to present, given a custom exception, a way to assert on the specific fields in that class. For instance, given a custom exception:
package com.example.exception;
public class DetailException extends RuntimeException {
private String detail;
public DetailException(String message, String detail) {
super(message);
this.detail = detail;
}
public String getDetail() {
return detail;
}
}
and a business logic throwing this exception
package com.example.thrower;
import com.example.exception.DetailException;
public class DetailExceptionThrower {
public void throwException() {
throw new DetailException("message", "a detailed exception explanation");
}
}
write an extension to write a test like:
package com.example.thrower;
import org.junit.jupiter.api.Test;
import static org.assertj.extension.DetailExceptionAssertions.assertThatDetailException;
class DetailExceptionThrowerCustomAssertionTest {
private final DetailExceptionThrower underTest = new DetailExceptionThrower();
@Test
void test_customAssertion() {
assertThatDetailException()
.isThrownBy(underTest::throwException)
.withMessage("message")
.withDetail("a detailed exception explanation");
}
}
is it even possible to write an extension like this?
- Langage dominant
- CSS
- Étoiles
- 26
- Forks
- 32
- Merge moyen
- 1 j 19 h
- PR mergées (30 j)
- 4
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de assertj/doc
-
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
-
Difficulté 2/5 Une demi-journée Accessibilité débutants 35/100
-
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 52/100
-
assertj/doc#167 · 15 commentaires · 3 réactions · 1 personne assignée ·
Toutes les issues de assertj/doc
Issues similaires
-
documentation help wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 90/100
-
user-reported
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
Kong/developer.konghq.com#7316 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
HarperFast/skills#96 ·
-
Client support matrix inclusion Ouverteenhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
infinispan/infinispan#18150 ·