教你解决为什么TestNG中方法加了@Test注解,也在配置文件里配置了,可是方法就是不运行!



在使用TestNG进行測试时,使用配置文件的方式更easy于维护。可是常常遇到明明方法写了也配置运行了,可是run的时候代码就没有运行

看代码:(细致看凝视!

/**
*
* <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

<?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>

执行结果:

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
===============================================

Testng 的数据源 驱动測试 代码与配置



假设我忍让。

别觉得我退缩。由于我明确。忍一忍风平浪静,让一让天高海阔。

TestNG方法測试及注意要点 代码及配置具体解释(解决testng方法不运行问题)的更多相关文章

  1. TestNG的參数化測试、共享线程池配置、參数默认值配置

    在使用TestNG进行測试时,常常会使用到一些參数化配置,比方数据库.连接池.线程池数. 使用TestNG的參数@Parameter注解进行自己主动化读取 原创文章,版权全部.同意转载,标明出处:ht ...

  2. WinCE C#程序,控制启动时仅仅能启动一个程序,使用相互排斥量来实现,该实现方法測试通过

    </pre><pre code_snippet_id="430174" snippet_file_name="blog_20140718_5_46349 ...

  3. SAE+wordpress邮箱问题,WP MAIL STMP插件配置但无效解决的方法

    我在SAE上面部署的WordPress是3.9版本号的,而非SAE应用商店里WordPress4sae是3.4的,虽然3.9版本号的确有非常多改进但在部署在SAE上面时须要做非常多改动,并且有些插件也 ...

  4. TestNG的组測试和组中组測试

    在编写測试的过程中,我们常常遇到仅仅想运行个别或者某一部分/某一类型的測试用例,这时我们能够使用TestNG的分组測试方法 分组測试在配置时.TestNG运行的原则是:仅仅保留最小集合进行运行 看代码 ...

  5. 随想录(做自己代码的測试project师)

    [ 声明:版权全部.欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 非常多project师都有一个不好的习惯,由于大多数itproject师都喜欢写代码.可是不喜欢 ...

  6. 菜鸟学Java(二十一)——怎样更好的进行单元測试——JUnit

    測试在软件生命周期中的重要性,不用我多说想必大家也都很清楚.软件測试有许多分类,从測试的方法上可分为:黑盒測试.白盒測试.静态測试.动态測试等:从软件开发的过程分为:单元測试.集成測试.确认測试.验收 ...

  7. Maven实战(五)——自己主动化Web应用集成測试

    自己主动化集成測试的角色 本专栏的上一篇文章讲述了Maven与持续集成的一些关系及详细实践,我们都知道,自己主动化測试是持续集成不可缺少的一部分,基本上,没有自己主动化測试的持续集成,都非常难称之为真 ...

  8. python第三方库系列之十九--python測试使用的mock库

    一.为什么须要mock         在写unittest的时候,假设系统中有非常多外部依赖,我们不须要也不希望把全部的部件都执行一遍.比方,要验证分享到微博的功能,假设每次測试的时候都要真实地把接 ...

  9. Android单元測试之JUnit

    随着近期几年測试方面的工作慢慢火热起来.常常看见有招聘測试project师的招聘信息.在Java中有单元測试这么一个JUnit 方式,Android眼下主要编写的语言是Java,所以在Android开 ...

随机推荐

  1. patch 用法

    diff -Nrua a b > c.patch 实例说明: --- old/modules/pcitable Mon Sep 27 11:03:56 1999 +++ new/modules/ ...

  2. makfile.am 和makefile.in 的使用

    参考 http://blog.csdn.net/vevenlcf/article/details/48134313 http://linux.chinaunix.net/techdoc/develop ...

  3. CVS环境搭建

    1.下载cvsnt(可以从附件中下载) 2.安装cvsnt     直接双击运行cvsnt安装文件,安装过程中可以选择以经典.自定义和完全三种方式安装,在自定义方式中可以选择安装路径.安装完成后,在控 ...

  4. 一文学会最常见的10种NLP处理技术

    一文学会最常见的10种NLP处理技术(附资源&代码)   技术小能手 2017-11-21 11:08:29 浏览2562 评论0 算法 HTTPS 序列 自然语言处理 神经网络 摘要: 自然 ...

  5. tcp_client.c tcp_server.c

    #include <stdlib.h> #include <stdio.h> #include <errno.h> #include <string.h> ...

  6. C语言:创建动态单向链表,创建完成后,输出每一个节点的数据信息。

    // //  main.c //  dynamic_link_list // //  Created by ma c on 15/8/5. //  Copyright (c) 2015. All ri ...

  7. 第十一章 自己实现一致性hash算法

    关于一致性hash算法的意义以及其相对于简单求余法(除数求余法)的好处,查看第六章 memcached剖析 注意:真实的hash环的数据结构是二叉树,这里为了简便使用了列表List 1.一致性hash ...

  8. Bridge 桥接模式 MD

    桥接模式 简介 将抽象部分与实现部分分离,使它们都可以独立的变化. 业务抽象角色引用业务实现角色,或者说业务抽象角色的部分实现是由业务实现角色完成的 Bridge模式基于类的最小设计原则,通过使用封装 ...

  9. jQuery的一个关键函数

    jQuery.extend = jQuery.fn.extend = function() { // copy reference to target object var target = argu ...

  10. JS/JQuery获取当前元素的上一个/下一个兄弟级元素等元素的方法

    $(function(){ //遍历获取的input元素对象数组,绑定click事件 var len = $("input[type='file']").length; ; i & ...