翻译:叩丁狼教育吴嘉俊
在JUnit4中测试方法参数是非常麻烦的事情(注:针对同一个方法,测试多组不同的参数值)。JUnit5中引入了大量的新的特性,让使用同一个测试方法,测试不同的参数变得非常容易。但是,这里面有一个问题值得讨论,就是测试空值的问题。
在这篇文章中,我们会讨论在JUnit5中,如何通过@CvsSource和@ValueSource为@ParameterizedTest测试传入一个空值。
在@CvsSource中的空值
我们通过一个例子来引入这个问题。
假设,我们已经创建了一个类,名字叫做DateRange,这个类包含两个日期参数,用来表示一段时间。你可以通过调用DateRange的构造方法,传入至少一个日期对象,来创建一个DateRange对象。我们在构造方法中也会检查,开始时间必须在结束时间之前。
使用Junit5提供的@ParametrizedTest我们可以非常方便的进行DateRange构造器的测试:
@ParameterizedTest
@CsvSource({