gpt4 book ai didi

java - 组织期望异常的junit测试

转载 作者:行者123 更新时间:2023-11-30 04:15:22 26 4
gpt4 key购买 nike

我有一个内部使用 2D 数组的类,并公开 processItem(int i,int j) 方法,如下所示。该方法使用从 1 开始的索引,并具有一个构造函数,该构造函数采用 int 值(例如 N)作为 2D 数组大小。因此,对于 N=10,i 和 j 的值应该是 1 到 N 。如果调用该方法时 i 或 j 小于 1 或大于 10 ,该方法将抛出 IndexOutOfBoundsException 。

在我的单元测试中,我想用 i,j 值调用该方法

(0,4),(11,3),(3,0),(3,11)

这些调用应该抛出 IndexOutOfBoundsException

如何组织测试,是否必须为每个 i,j 对编写 1 个单独的测试?或者有更好的方法来组织它们吗?

class MyTest{
MyTestObj testobj;
public MyTest(){
testobj = new MyTestObj(10);
}
@Test(expected=IndexOutOfBoundsException.class)
public void test1(){
testobj.processItem(0,4);
}

@Test(expected=IndexOutOfBoundsException.class)
public void test2(){
testobj.processItem(11,3);
}

@Test(expected=IndexOutOfBoundsException.class)
public void test3(){
testobj.processItem(3,0);
}

@Test(expected=IndexOutOfBoundsException.class)
public void test4(){
testobj.processItem(3,11);
}
..
}

最佳答案

如果它们完全独立,则编写独立的测试,但如果它们密切相关(看起来像这样),则只需对四个调用进行一次测试,每个调用都包含在 try-catch 和 fail('exception expected') 中。每次通话后。正如在junit 3中所做的那样。

关于java - 组织期望异常的junit测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18545971/

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