gpt4 book ai didi

java - 对于接受类似类型的输入参数、相同的实现代码但不同的输出的测试用例,正确的实现是什么

转载 作者:太空宇宙 更新时间:2023-11-04 15:00:35 25 4
gpt4 key购买 nike

建议使用两者中的哪一个?

当存在“相同实现”测试代码但“不同输出”时,因为“输入略有不同”,即 input1input2 有微小差异。 “假设input1是空列表,input2是参数化列表”

让我们为测试类的两种可能性提供一个虚拟代码:

这两种行为都是通过相同的测试方法实现的,即:

public Class DataProvider{

private static setUp(){
}

public static Object[][] data_all_Behaviour(){
setUp();
return new Object[][]{
{"DataForBehavior1",Input1,Output1},
{"DataForBehavior2",Input2,Output2}};
}
}
}


@RunWith(JUnitParamsRunner.class)
public class TestClass{
@Parameters(class=DataProvider.class)
public void Test_all_Behaviour(String message,Input inp, Output out){
//execute input and verify output and display message
}
}

这里对于每种行为,都有单独的测试方法。

@RunWith(JUnitParamsRunner.class)

public class TestClass{

public Object[][] data_for_Behaviour1(){
setUp();
return new Object[][]{
{"DataForBehavior1",Input1,Output1}
}
}


public void test_Behaviour1(String message,Input inp, Output out){
//execute input and verify output and display message
}
}


public Object[][] data_for_Behaviour2(){
setUp();
return new Object[][]{
{"DataForBehavior2",Input2,Output2}
}
}


public void test_Behaviour2(String message,Input inp, Output out){
//execute input and verify output and display message
}
}
}

还提供其他可能的方法来实现相同的目的吗?

最佳答案

只要您使用通用的测试辅助方法而不是复制/粘贴第二个选项的两个测试,两者都可以接受。使用您和您的团队最容易理解的内容。

关于java - 对于接受类似类型的输入参数、相同的实现代码但不同的输出的测试用例,正确的实现是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22612237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com