JUnit5 ã® @CsvSource ã使ã£ã¦ããã¹ãã§ä½¿ç¨ããå¤ã CSV ã§è¨å®ããæ¹æ³ãæ¸ãã¦ããã¾ãã
ãã¼ã¸ã§ã³
åä½ç¢ºèªã§ä½¿ç¨ãã製åã®ãã¼ã¸ã§ã³ã¯ä»¥ä¸ã®éãã§ãã
1. æå®æ¹æ³
@CsvSource ã®å¤ã« CSV ãæå®ãã¾ããå¤ãé åã«ããã¨ãã¡ã½ãããè¤æ°åå¼ã³åºããã¾ãã
package org.example.csv; import static org.junit.jupiter.api.Assertions.assertEquals; import org.example.Calc; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.CsvSource; class CalcTest { private final Calc calc = new Calc(); @ParameterizedTest @CsvSource({ // CSVã®å 容ã弿°ã«è¨å®ããã¾ãã "1, 2, 3", // x=1, y=2, expected=3 "10, 20, 30" // x=10, y=20, expected=30 }) void testAdd(int x, int y, int expected) { // å®è¡ int result = calc.add(x, y); // æ¤è¨¼ assertEquals(expected, result); } }
ï¼ CsvSource ã使ãå ´åã¯ã@ParameterizedTest ãä»ä¸ãã¾ãããã©ã¡ã¼ã¿ã¼åããããã¹ãã ã¨å®£è¨ããå¿ è¦ãããã¾ãã
2. ãã¹ã対象ã¯ã©ã¹
åä½ç¢ºèªã§ä½¿ç¨ãããã¹ã対象ã®ã¯ã©ã¹ã¯ä»¥ä¸ã®éãã§ãã
package org.example; public class Calc { public int add(int x, int y) { return x + y; } }