我有以下场景要测试。我想知道哪个测试框架最适合我的需求。
这里,将为上述变量分配不同的值,这些变量将被传递给测试20次,每次将生成不同的测试输出文件(总共20个输出文件),然后将与预期的数据文件进行比较。(预期数据也有20个文件。)
我有这样15个场景。哪种测试框架最适合这里?参数化Junit是否合适?请提供一些指导方针,以便使用建议的框架。
通过将Junit参数化测试与一些YAML解析相结合,我能够创建可读的参数表。每个表行都将被解析为一个映射,每个值都将使用yaml解析器进行解析。这样,每个映射都包含类型化实例。甚至像本例一样列出。
@RunWith(Parameterized.class)
public class AnotherParameterizedTest {
private final HashMap row;
@Parameterized.Parameters(name="Reverse Lists Tests # {index}:")
public static List<Map<String, Object>> data() {
final TestData testData = new TestData(""+
"| ID | List | Expected | \n"+
"| 0 | [1, 2, 3] | [3, 2, 1] | \n"+
"| 1 | [2, 3, 5] | [5, 3, 2] | \n"+
"| 2 | [5, 6, 7] | [ 7, 6, 5] | \n"
);
// parsing each row using simple YAML parser and create map per row
return testData.getDataTable();
}
public AnotherParameterizedTest(HashMap obj) {
this.row = obj;
}
@Test
public void test() throws Exception {
List orgListReversed = new ArrayList((List) row.get("List"));
Collections.reverse(orgListReversed);
assertEquals((List) row.get("Expected"), orgListReversed);
}
}
Junit测试结果
争论严格适用于每个国家。 我不想为所有国家复制粘贴这个场景,我想知道我是否可以有功能/支持文件,这样我就可以取代“巴西”参数,以获得更动态的东西。 也许所有测试都像cucumber一样运行--参数“巴西”
B类: 如何影响这个界面?
当我多次调用同一个函数时,每次都传递了不同的参数,我会这样做: 有没有更方便的方法做到这一点呢?
为了自定义,我创建了两个函数,它们具有相同的返回类型和不同的参数,一个是单节点配置,另一个是集群配置。守则如下: 调用它们时,返回值(LettuceConnectionFactory)是另一个函数的参数。守则如下: 但是spring会报告 由于项目稍微复杂一些,所以有很多redis单服务器A、B、C。和集群服务器A、B、C...,它们有不同的ip、端口和池策略。我最初的想法是,通过将RedisCo
我在Java中有两个几乎相同的方法。唯一的区别是它们有不同的参数类型。它们使用泛型并返回输入参数的类型T。我怎样才能摆脱重复的代码?下面是我的两个方法。最后,它们都使用不同的类型调用Spring。否则,方法是相同的。
Jenkins想添加一个参数。列表是固定的,但我希望dropbox显示自定义值,而不是实际值(类似于网页的名称,而不是其URL)。 在某些情况下,这是文件,但是,我想显示模块名,而不是完整路径。举个例子: 感谢您的帮助提前!