首页 > 编程知识 正文

编写测试用例的目的,java测试用例怎么写

时间:2023-05-06 12:25:51 阅读:114829 作者:4861

最近,需要向组中的其他成员普及Java测试用例的知识,现在我们将对其进行简单的学习和总结。

JUnit概述

JUnit是一个开源的Java单元测试框架,JUnit4极大地改进了传统的JUnit框架。 主要目标是利用Java的注释,而不是必须继承AbstractTestCase,并且要测试的方法名称必须是test作为前缀。

JUnit4有三个Annotation,用于控制测试的整个生命周期。

@Before

相当于测试用例的初始化工作,在执行每个测试用例方法时,该方法首先执行。

@After

测试用例清理工作由此方法创建,并在每个方法执行完成后进行清理。

@Before和@After确保一些测试用例的资源在这些方法上运行,并且不受@Test方法执行顺序的影响。

@Test

这是一种实际的测试方法,根据该方法中的断言语句(Assert )显示和输出测试用例的执行结果。

@Test还具有以下有用属性:

expect=xxxx.class (extends throwable ) )。

如果测试方法预计会出现一些错误,请使用此方法进行处理。 一个函数抛出异常,可能是你想要的结果。

timeout=xxxx(1毫秒的值) () ) ) ) ) ) ) ) ) ) ) ) ) 65 ) ) ) ) ) ) )

如果测试方法未在指定的timeout时间内运行,则测试将失败。 这有助于提高单元测试的效率。

在实践测试驱动开发时,@Ignore可以暂时忽略一些已定义但未实现的方法。

JUnit有参数化测试的概念。 写一个测试函数,在一些情况下作为参数传递,测试就可以了。

可以用参数化的方法进行批量测试,如以下代码所示。

@runwith(parameterized.class )。

publicclassbelongtoregionfunctiontestcase {

隐私保护功能;

私密布尔执行;

保密登录id;

私有内参与id;

@Before

公共void设置() }

function=newbelongtoregionfunction;

}

@After

公共语音下载

函数=null;

}

@Parameterized.Parameters

publicstaticcollectionpreparedata (

return Arrays.asList (

新对象[ ] { true,15,8 },

new Object[]{true,105,8 },

新对象[ ] { false,2,8 }

);

}

publicbelongtoregionfunctiontestcase (布尔表达式,int regionId,int parentRegionId ) {

this.expected=expected;

this.regionId=regionId;

this.parentregionid=parentregionid;

}

@Test

公共语音测试() throws IOException { )。

string file path=this.getclass (.getclass loader ).get resource (region-00000000000008-top 100-new '

assert.assertequals(expected,function.evaluate ) regionid,parentRegionId,文件路径);

}

@Test

public void测试newregion () throws IOException { )。

string file path=this.getclass (.getclass loader ).get resource (region-0000000000008-top 1000-top 1000 ) ) )

assert.assertequals(expected,function.evaluate ) regionid,parentRegionId,文件路径);

}

}

在Maven上运行JUnit

Maven本身不是一个单元测试框架,它只是在构建和运行到特定生命周期时通过插件运行JUnit测试用例。 此插件是maven-surefire-plugin,也是测试运行器。

缺省情况下,maven-surefire-plugin运行测试源代码路径中的所有测试情况。 路径为src/test/java。 默认情况下,maven的测试阶段包含在几个阶段之前。 这意味着,在package和install阶段,缺省情况下测试都是先运行的。 如果想在package之前跳过此阶段,请使用类似以下的命令:

maven packagedskiptests

如果不仅需要跳过测试运行,而且还需要跳过测试编译:

maven packaged maven.test.skip=true

如果某个测试用例在运行时运行失败,并且想再次运行,则不需要一次运行所有测试用例,而只需要运行部分的测试用例。 maven-surefire-plugin提供了一个test参数,允许maven用户指定在命令行上运行的测试用例,可以使用通配符或添加多个test类。

maven testdtest=class * test,Class2*Test

可以在idea中设置工程测试资源文件夹。 这样,可以在程序中使用ClassLoader的getResource获得相应资源的路径和输入流。 建议不要将用于测试的资源强制防御到相应的开发资源包。

maven允许您定义测试资源的路径。

src/test/resources

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。