【发布时间】:2018-04-09 15:03:13
【问题描述】:
示例: 我正在使用参数化测试方法编写 Junit5 测试,我可以使用 csvFileSource 方法运行测试,问题是我的测试类文件包含几个测试 1. 使用正确的凭据登录 2. 使用不正确的凭据登录等等。
如果我在同一个 csv 文件中指定两组凭据(一组用于使用正确凭据登录,一组用于使用不正确凭据登录),则每个测试都会访问所有凭据并运行两次。如何从 csv 文件中为我的测试类中的每个子测试准确选择特定的测试数据?
【问题讨论】:
-
您可以使用两个单独的文件,然后在
@CsvFileSource(resources=...)中选择您想要的一个,对吧? -
@MarcPhilipp 我可以通过分离文件来做到这一点,但我不想为每个测试添加新文件,我想将所有测试数据添加到一个 csv 文件中。所以我被困在这里无法继续编写测试。
-
您可以在 CSV 文件中添加一个或多个附加列来定义给定行的期望值,然后使用一个参数化测试方法来执行基于附加 期望值的断言> 列。
-
是的,我之前尝试过,它正在工作,但我仍然需要从 csv 文件中获取所有参数才能运行测试,这会导致获取不需要的值。目前我计划为每个测试保留不同的 csv 文件,以解除对开发测试的阻碍。