From 9dc7dd22e4e7676328d75b32b5d8adb6dcf2c566 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hallvard=20Tr=C3=A6tteberg?= <hal@ntnu.no> Date: Thu, 29 Oct 2020 11:02:15 +0000 Subject: [PATCH] parameterisert test --- antipatterns/pom.xml | 12 +++++++++--- .../DataClassWithValidationTest.java | 17 +++++++++++++++++ 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/antipatterns/pom.xml b/antipatterns/pom.xml index 867a373..8f6cce3 100644 --- a/antipatterns/pom.xml +++ b/antipatterns/pom.xml @@ -10,15 +10,21 @@ <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> - <version>5.4.2</version> + <version>5.7.0</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> - <version>5.4.2</version> + <version>5.7.0</version> <scope>test</scope> - </dependency> + </dependency> + <dependency> + <groupId>org.junit.jupiter</groupId> + <artifactId>junit-jupiter-params</artifactId> + <version>5.7.0</version> + <scope>test</scope> + </dependency> </dependencies> <build> diff --git a/antipatterns/src/test/java/antipatterns/DataClassWithValidationTest.java b/antipatterns/src/test/java/antipatterns/DataClassWithValidationTest.java index bbad447..c1ad6c9 100644 --- a/antipatterns/src/test/java/antipatterns/DataClassWithValidationTest.java +++ b/antipatterns/src/test/java/antipatterns/DataClassWithValidationTest.java @@ -1,10 +1,20 @@ package antipatterns; import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; public class DataClassWithValidationTest { + private DataClassWithValidation instance1; + + @BeforeEach + public void setup() { + instance1 = new DataClassWithValidation(); + } + @Test public void testConstructor() { try { @@ -32,4 +42,11 @@ public class DataClassWithValidationTest { public void testBetterConstructor_validName() { new DataClassWithValidation("ok name"); } + + + @ParameterizedTest + @ValueSource(strings = {" starts with blank"}) + public void testBetterSetName_invalidName(String name) { + Assertions.assertThrows(IllegalArgumentException.class, () -> instance1.setName(name)); + } } -- GitLab