ç¶æ³
JUnit5
ã®ParameterizedTest
ã§ãMethodSource
ã空Stream
ãè¿ããå ´åã以ä¸ã®ãããªã¨ã©ã¼ã«ãªãã¾ãã
Configuration error: You must configure at least one set of arguments for this @ParameterizedTest org.junit.platform.commons.PreconditionViolationException: Configuration error: You must configure at least one set of arguments for this @ParameterizedTest
ãã®ã¨ã©ã¼ã¯ãä¾ãã°ãAbstract Class
ã«ãã¹ããå®ç¾©ããåå®è£
ã§MethodSource
ãå®è£
ããããããªå½¢ã§ãã¹ããå®è£
ãã¦ããå ´ååé¡ã«ãªãã¾ãã
坾妿³
ãã®åé¡ã¯ãEnabledIf
/DisabledIf
ã¢ããã¼ã·ã§ã³ãç¨ãããã¹ããå®è¡ããªããã¿ã¼ã³ãè¨å®ãããã¨ã§åé¿ã§ãã¾ãã
ä¾ãã°ä»¥ä¸ã®ããã«ãªãã¾ãï¼ãµã³ãã«ã³ã¼ãã¯Kotlin
ã§ããJava
ã§ãæ®ã©åãã«ãªãã¾ãï¼ã
@TestInstance(TestInstance.Lifecycle.PER_CLASS) abstract class Foo { abstract fun provider(): Stream<Arguments> private fun providerReturnsEmpty(): Boolean = provider().count() == 0L @ParameterizedTest @MethodSource("successProvider") @DisabledIf(value = "providerReturnsEmpty", disabledReason = "providerã空ãè¿ããã") fun test(/* 弿°ç¥ */) { /* ãã¹ãå®è£ ç¥ */ } }
è£è¶³
EnabledIf/DisabledIfã¯ã©ãä½ä½ãã§ããã
EnabledIf
/DisabledIf
ã®è©³ããä½¿ãæ¹ã«ã¤ãã¦ã¯ä»¥ä¸ã®ããã¥ã¡ã³ãã§ç´¹ä»ããã¦ãã¾ãã
ã¾ããå½è©²ã®ããã¥ã¡ã³ãã«ã¯åºã¦ãã¾ããããSpring
ã¨çµã¿åããã¦ããå ´åSpEL
ã¨ããè¨æ³ã§æ¸ããã¨ãã§ãã¾ãã
ãã ãå人çã«ã¯ããµã³ãã«ã§ç´¹ä»ããããã«boolean
ãè¿ã弿°ç¡ã颿°ãå®ç¾©ããããæ¹ããããããã¾ãã
çç±ã¯ä»¥ä¸ã®éãã§ãã
- èªã¿æ¸ãã«ç¥èãå¿ è¦ã«ãªã£ã¦é¢å
- ã¢ããã¼ã·ã§ã³å
ã§è¤éãªãã¨ãããå§ããã¨ï¼ç¹ã«
Java
ã§ã¯ï¼èªã¿ã«ãããªã
ParameterizedTestã®æ¹ã«ãªãã·ã§ã³ã¯ç¡ãã®ã
ãParameterizedTest
ã®æ¹ã§ç©ºStream
ãã¨ã©ã¼ã«ããªããªãã·ã§ã³ã¯ç¡ãã®ããã¨æãããããããã¾ããããããã¯æä¾ããã¦ããªãããã§ããã
詳ããã¯ä¸è¨ã®issue
ã«ã¦ããåããæãã¾ãï¼ãã®ãªãã·ã§ã³ã欲ããæ¹ã¯ðãæ®ããªããé¡ããã¾ããèªåã¯æ®ãã¾ããï¼ã