问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

testng怎样测试void方法

发布网友 发布时间:2022-04-30 01:55

我来回答

2个回答

热心网友 时间:2022-06-28 13:31

使用TestNG类执行测试用例。这个类的主入口点在TestNG的框架运行测试。用户可以创建自己的TestNG的对象,并调用它以许多不同的方式:
在现有的testng.xml
合成testng.xml,完全从Java创建
直接设定测试类
您还可以定义哪些群体包括或排除,分配参数,命令行参数:
-d outputdir: 指定输出目录
-testclass class_name: 指定了一个或多个类名
-testjar jar_name: 指定的jar包含测试
-sourcedir src1;src2: ; 分隔源目录列表(只有当使用的javadoc注释)
-target
-groups
-testrunfactory
-listener
testng.xml现有在下面的例子中,我们将创建TestNG的对象。
创建一个类
创建一个Java类进行测试为 MessageUtil.java 在 C:\ > TestNG_WORKSPACE
/*
* This class prints the given message on console.
*/
public class MessageUtil {

private String message;

//Constructor
//@param message to be printed
public MessageUtil(String message){
this.message = message;
}

// prints the message
public String printMessage(){
System.out.println(message);
return message;
}
}
创建测试例类
创建一个Java测试类 SampleTest.java
您的测试类添加一个的测试方法testPrintMessage()
添加注释@Test 到方法 testPrintMessage()
实现测试条件和使用的assertEquals API TestNG的检查条件
创建一个Java类文件名 SampleTest.java在 C:\ > TestNG_WORKSPACE
import org.testng.Assert;
import org.testng.annotations.Test;

public class SampleTest {

String message = "Hello World";
MessageUtil messageUtil = new MessageUtil(message);

@Test
public void testPrintMessage() {
Assert.assertEquals(message, messageUtil.printMessage());
}
}
创建 testng.xml
接下来,让我们创建testng.xml文件在 C:\ > TestNG_WORKSPACE 执行测试用例,此文件捕获整个测试XML。这个文件可以很容易地描述所有的测试套件和它们的参数在一个文件中,你可以检查你的代码库或e-mail给同事。这也使得它容易提取测试或*的几个运行时配置的子集(例如,TestNG的database.xml 只能运行测试,行使数据库)。
<?xml version="1.0" encoding="UTF-8"?>
<suite name="Sample test Suite">
<test name="Sample test">
<classes>
<class name="SampleTest" />
</classes>
</test>
</suite>
情况下使用javac编译测试

C:\TestNG_WORKSPACE>javac MessageUtil.java SampleTest.java
现在,运行这个 testng.xml,将运行中定义的测试用例 <test> 标签
C:\TestNG_WORKSPACE>java -cp "C:\TestNG_WORKSPACE" org.testng.TestNG testng.xml
验证输出。
Hello World

===============================================
Sample test Suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================

热心网友 时间:2022-06-28 13:31

看代码:(仔细看注释!)

[java] view plain copy
/**
*
* <p>
* Title: TestngMethods
* </p>
*
* <p>
* 对应配置文件testng-methods.xml
* Description: Testng的methods测试及配置,参考testng-methods.xml,如果不设置
* exclude和include,默认执行当前测试类时,带有返回值的方法不会被执行
*
* 如果想执行多个同类型或者命名方式类似的多个方法时,可以使用方法组测试,
* '.*'表示一个或多个字符,如果方法命名方式不同,那么可以采用组测试方法进行测试,参考TestGroups
*
* 注:文档错误!
*
* 5.1 - Test methods Test methods are annotated with @Test. Methods annotated
* with @Test that happen to return a value will be ignored, unless you set
* allow-return-values to true in your testng.xml:
*
* <suite allow-return-values="true">
*
* or
*
* <test allow-return-values="true">
*
* 此处在<test >中配置allow-return-values属性无效,测试依旧不会被执行
* </p>
*
* <p>
* Company:
* </p>
*
* @author : Dragon
*
* @date : 2014年10月11日
*/
public class TestngMethods {
/**
* 默认情况下这个方法将被忽略,如果需要执行,需要在xml中配置allow-return-values="true"
*
* @return
*/
@Test
public String getName() {
System.err.println("return name.... getName()");
return "name";
}

@Test
public void funtest() {
System.err.println("this is funtest......");
}

@Test
public void saveMethod1() {
System.err.println("this is saveMethod1......");
}

@Test
public void saveMethod2() {
System.err.println("this is saveMethod2......");
}

@Test
public void saveMethod3() {
System.err.println("this is saveMethod3......");
}

}

配置文件:testng-methods.xml

[html] view plain copy
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<!-- allow-return-values 默认值为FALSE,表示返回值将被忽略 -->
<suite name="framework_testng" allow-return-values="true">
<test verbose="2" name="TestMethods">
<classes>
<class name="com.dragon.testng.annotation.TestngMethods">
<methods>
<exclude name="funtest"></exclude>
<include name="getName"></include>
<include name="save.*"></include>
</methods>
</class>
</classes>
</test>
</suite>

运行结果:

[html] view plain copy
return name.... getName()
this is saveMethod1......
this is saveMethod2......
this is saveMethod3......
PASSED: getName
PASSED: saveMethod1
PASSED: saveMethod2
PASSED: saveMethod3

===============================================
TestMethods
Tests run: 4, Failures: 0, Skips: 0
===============================================
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
小篇幅造句 易车如何发布二手车 转让卖车信息流程 《易车》群聊消息关闭方法 易车消息夜间勿扰方法步骤 易车如何开启消息夜间勿扰 易车 开启@消息推送 ...当入射角是 时,反射角是 。我们能从各个方向看到本身不发光的物体... 发泄的近义词和反义词是什么_发泄是什么意思? 我的世界手游 我的世界手机版怎么做末地传送门? 我的世界手游 末地传送门怎么做? 安全评价师的报考科目有什么 用junit怎么测试方法中的变量 Junit使用什么来判断待测试代码是否返回正确的结果 如何利用log4Net自定义属性配置功能记录完整的日志信息 junit 中assertEquals方法比较的两个对象相等的话,此2个对象是内存中的同一个对象吗? 如何用junit测试返回值为void的方法 邮箱597951941@qq.com JUnit中assertEquals和assertSame方法的不同 java中的assertEquals函数,三个参数是什么意思? 如何测试一个没有返回值的方法 如何在Ubuntu14.04中安装和运行Windows应用程序 如何在ubuntu16下安装windows 怎么把ubuntu的系统装回Windows 如何在ubuntu系统上安装windowsxp系统 ubuntu系统下安装windows 如何在乌班图下安装windows 弱弱地问一下。在ubuntu中可以安装windows吗? ubuntu系统怎么安装回windows系统 如何在华为上下载Google play 如何在ubuntu系统下硬盘安装WINDOWS? 啤酒鸡翅的做法大全 啤酒鸡翅怎么做好吃 如何在ubuntu下安装windows? java中针对没有返回类型,但是有输出语句的方法的怎么写单元测试用例 类似这种方法可以用junit进行测试吗,就是给这个方法传递一个参数然后打印 成年人晚上尿床怎么办 抖音和快手能用同一个登陆吗? U盘被写保护后还能用吗? 我的u盘被写保护的了,不能往里面放东西,但是之前里面的文件还是可以读取的,哪个高手帮忙指点指点啊! U盘被写保护了怎么处理,能考出东西,不能考进 熬煮奶茶应煮多长时间 奶茶茶水怎么煮,要煮多久 u盘被写保护不能使用是怎么回事 奶茶要怎么煮? u盘被写保护,无法格式化,这u盘是不是没救了? U盘被写保护了,怎样正常使用? 如何煮奶茶 学生怎样增强自然灾害自我保护意识? AO图是什么? 什么是ao贴图 学校五防教育是什么? 3DS MAX中的AO是什么意思啊? 绘圈ao设是什么意思?