Wie kann ich am besten einen unabhängiges Datenfeld einer Validierung unterziehen?
Konkreter Fall:
Ich habe eine Klasse Contact s. https://www.java-forum.org/thema/protected-nicht-protected.185053/
In der Klasse Contact befindet sich ein Attribut "content", welches unterschiedlich Werte (Email, Telephon, Internet, ....) aufnehmen kann.
Die Klasse ist abstrakt, weil es davon abgeleitete für jede Prüfung geben wird. z.B.
für Email dürfte das Feld content nicht blank, nicht null sein und es muss eine gültige Email - Adresse haben. Deshalb schreibe ich in den Parametern die Annotations hinzu.
Wie überprüfe ich jetzt aber ob diese auch greifen? Wie müsste eine entsprechende Test-Funktion aussehen?
Meine aktuelle Test-Klasse sieht momentan wie folgt aus (bitte nicht wundern über den assertTrue(true)):
Konkreter Fall:
Ich habe eine Klasse Contact s. https://www.java-forum.org/thema/protected-nicht-protected.185053/
In der Klasse Contact befindet sich ein Attribut "content", welches unterschiedlich Werte (Email, Telephon, Internet, ....) aufnehmen kann.
Die Klasse ist abstrakt, weil es davon abgeleitete für jede Prüfung geben wird. z.B.
Code:
public class EmailContact extends Contact {
public EmailContact(@Email @NotBlank @NotNull String email) {
super();
this.setMethod(EContactMethod.EMAIL);
this.setContent(email);
}
public void setContent(@Email @NotBlank @NotNull String email) {
super.setContent(email);
}
}
Wie überprüfe ich jetzt aber ob diese auch greifen? Wie müsste eine entsprechende Test-Funktion aussehen?
Meine aktuelle Test-Klasse sieht momentan wie folgt aus (bitte nicht wundern über den assertTrue(true)):
Code:
public class EmailContactTest {
private Validator validator;
@Before
public void setUp() throws Exception {
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
validator = factory.getValidator();
}
/**
* test initialze constructor with null
*/
@Test
public void testEmailContactConstructorWithNull() {
EmailContact contact = new EmailContact(null);
assertTrue(true);
}
}