MAC下基于maven使用IDEA走读TestNG源码解析

之前用Python执行程序都是python xxx.py,最近在使用Java技术栈的TestNG,于是想能够也用命令行实现…

创建一个Maven项目

确保已安装了Maven,可使用Maven命令后,使用以下命令可快速创建Maven项目

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false

进入项目后,大概是下面的目录结构:

.
├── pom.xml
└── src
    ├── main
    │   └── java
    │       └── com
    │           └── mycompany
    │               └── app
    │                   └── App.java
    └── test
        └── java
            └── com
                └── mycompany
                    └── app
                        └── AppTest.java

此时,AppTest.java应该还是使用Junit的,需要改成使用TestNG:

在pom.xml里安装TestNG

<dependency>
      <groupId>org.testng</groupId>
      <artifactId>testng</artifactId>
      <version>7.1.0</version>
    </dependency>

修改AppTest.java里相关注解是来自TestNG的repository

import org.testng.annotations.Test;
import static org.testng.AssertJUnit.assertTrue;

配置testng.xml文件

在项目根目录,新建testng.xml:

<?xml version="1.0" encoding="UTF-8"?>
<suite name="Sample test Suite">
    <test name="Sample test">
        <classes>
            <class name="com.mycompany.app.AppTest" />
        </classes>
    </test>
</suite>

配置完testng.xml后,在idea里鼠标右键这个文件也可以Run,Run的时候Console里第一行会打印命令,其中我们需要知道的是 -classpath的内容,后续要用到

命令行运行TestNG

  • 使用mvn test可以运行
  • 使用java命令运行

要先build下项目(即转化为.class文件,我是在idea里使用界面build了,build后可以看到target文件夹生成),接下来使用命令执行:

java -classpath 第三步拿到的classpath内容 org.testng.TestNG testng.xml

classpath 表示程序会在这些path下寻找第三方库

执行结果:

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

调试TestNG源码

借助IDEA强大的调试界面,走读TestNG源码。由于IDEA自带的TestNG插件,所以Debug时,走不到TestNG的main方法里,所以需要新建debug Config

如果提示测试的class no found,需要把target->test-classes路径添加到 project structure->module->Dependenices

以上就是基于maven使用IDEA走读TestNG源码(Mac)的详细内容,更多关于maven TestNG源码的资料请关注我们其它相关文章!

时间: 2021-06-08

IDEA2020.2创建springboot项目卡死在reading maven project的问题

解决方法一 问题描述: 昨天更新IDEA2020.2版本后,创建springboot项目的时候发现一直在reading maven project 中,如下图,而且一点setting(想修改本地maven路径)时,IDEA就卡死,而且打开任务管理器发现IDEA高占CPU. 原因: 猜测是2020.2版本问题,用其他版本没有出现这类情况. 由于第一次用spring Initializr创建maven的项目,它不会找IDEA自带的maven,也不会找你配置的本地maven,而是重新下载一个全新的ma

VBS定时执行idea程序的Testng文件的方法

背景: Windows环境cmd命令行执行TestNG文件,会报一些jar包路径问题,所以改用vbs打开idea程序的通过点击快捷键执行testng.xml文件. vbs代码如下: '第一部分:定义变量 Dim RunTime Dim WshShell Set WshShell = WScript.CreateObject("WScript.Shell") '第二部分:输入等待的分钟数(默认:180分钟),等待结束后,会执行第三部分 RunTime = InputBox("P

一篇文章带你解决 IDEA 每次新建项目 maven home directory 总是改变的问题

Maven是基bai于项目对象模型,可以通du过一小段描述信息来管理zhi项目的构建,报告和文档的软件项dao目管理工具. 重装个系统,各种问题,idea 也出现各种问题 装了个新版的 idea 2020 2.x 版本的,不知道咋回事,其他都好使,就是创建 SpringBoot 项目时: 加载 pom.xml 总是出错,原因就是,新建立的项目 maven home directory 总是乱,没有安装 设置的默认方式 我试了,改当前项目的,不好使 该默认设置,不好使,网上的其他方法也试了,很奇怪

解决 IDEA 2020.2 reading pom.xml 卡死问题

一.解决方案搜寻 刚出 IDEA 2020.2 版本的时候,当时第一时间更新了.打开公司的项目,没啥问题,但是当打开自己的项目的时候,就会看到右下角显示 reading pom.xml 然后就卡死了.很多次都这样,后来就回滚了 2020.1,直到今天才来再次尝试发现原因和解决方案. 1.1 导致原因的设定 如果有幸点进了 setting 中的 Maven 选项卡,那么可以看到 "Maven home dictionary" 也就是自定义的本地 Maven 路径被改成了 C:\Users

IDEA自动生成TestNG的testng.xml的插件方法

某地方见到的,自己实际操作一遍,记录一下.方便以后查询.下载Create TestNG XML 插件,重启IDEA即可. 重启idea,新建Maven项目. pom.xml增加依赖 <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.10</version> </dependency> 产生t

使用Mybatis Generator结合Ant脚本快速自动生成Model、Mapper等文件的方法

MyBatis简介: MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录. 相关阅读:MyBatis入门学习教程(一)-MyBatis快速入门 使用过Mybatis的同学都知道,针对每一个项目中使用到的数据库表都需要建

基于Vue-Cli 打包自动生成/抽离相关配置文件的实现方法

背景 •基于Vue-cli 项目产品部署,涉及到的交互的地址等配置信息,每次都要重新打包才能生效,极大的降低了效率.我们的目的是让项目实施的小伙伴重新快乐起来.网上实现的方式,都是半自动化的,还需要重新修改. 需求点 •配置化:打包后的配置文件可二次修改 •配置自动生成:vue-cli 提供了各种环境的打包,要实现相关配置文件的自动打包 •研发人员无痛感:对于产品研发人员来说,不需要增加额外的打包成本,基于Vue-cli的开发习惯不变. 实现步骤 一:配置自动生成 •安装generate-ass

生成代码从T到T1、T2、Tn自动生成多个类型的泛型实例代码

前言 当你想写一个泛型 <T> 的类型的时候,是否想过两个泛型参数.三个泛型参数.四个泛型参数或更多泛型参数的版本如何编写呢?是一个个编写?类小还好,类大了就杯具! 事实上,在 Visual Studio 中生成代码的手段很多,本文采用最笨的方式生成,但效果也很明显--代码写得轻松写得爽! 本文主要给大家介绍了关于从T到T1.T2.Tn自动生成多个类型的泛型的方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 我们想要的效果 我们现在有一个泛型的版本: public clas

使用 webpack 插件自动生成 vue 路由文件的方法

一款自动生成 vue 路由文件的 webpack 插件 vue-route-webpack-plugin在项目中试点成功了,现在在项目中已经不需要再维护路由配置文件了,由插件自动生成,节省了大家维护路由的时间. 从长远来看,使用插件自动生成路由是具有一定好处的.当项目中的路由配置非常多的时候,为了区分业务,你可能需要分成许多个文件来存放这些路由文件,这样就不得不去维护这些路由文件. 比如这样的路由文件结构: |-src/ |-router/ index.js childrenRouter.js

IDEA MyBatis Plugins自动生成实体类和mapper.xml

前言 如何下载和使用MyBatis Generator 插件,只说代码,不讲感情.如果有问题还请多多指点. 开发环境 开发工具:IntelliJ IDEA 2018.1.1 x64 dk版本:1.8.0_171 工程构建工具:maven 版本3.2.5 数据库 mysql IDEA 下载MyBatis Generator 插件 1.首先在File--Settings--点击Plugins,搜索框中搜索mybatis,选择mybatis-plugins,点击安装(由于我的已经安装过,所以没有绿色的

一个JAVA小项目--Web应用自动生成Word

前段时间接到一个Web应用自动生成Word的需求,现整理了下一些关键步骤拿来分享一下. 思路:(注:这里只针对WORD2003版本,其它版本大同小异.) 因为WORD文件内部的数据及格式等是通过XML文件的形式存储的,所以WORD文件可以很方便的实现由DOC到XML格式的相互转换,而操作XML文件就方便的多了,这样就实现了与平台无关的各种操作,通过节点的查询.替换.删除.新增等生成Word文件.所以,根据模板生成WORD文件实质就是由用户数据替换XML文件中特殊标签,然后另存为一个DOC文件的过

Mybatis Generator自动生成对应文件的实现方法

使用Generator自动生成我们需要的bean dao mapper xml等文件的过程(没有借助eclipse等编辑工具直接命令提示符生成) 第一步:在E盘新建一个文件夹generator,在这文件夹下创建一个test文件夹用来存放生成的文件,在创建一个generator.xml的配置文件 第二步:导入需要的jar包 mybatis-generator-core-1.3.2.jar 和mysql-connector-java-5.1.28-bin.jar 第三步:编写generator.xm

Android中实现自动生成布局View的初始化代码方法

在android开发过程中,界面布局是及其重要的,但同时也是复杂.有的时候我们急于实际运行查看布局效果.但是android的编译速度我实在不想吐槽啥,尤其在布局越来越复杂,项目越来越大,资源文件越来越多的情况下. 尤其是是android的view的初始化,findViewbyId 完全是体力活,我们完全可以根据布局文件自动生成View的初始化代码. 首先声明:   1.这是及其容易做到的,实用性性一般,但是在复杂布局和首次写初始化View代码的时候及其好用. 2.只能生成有id标签的view的初

Myeclipse 自动生成可持久化类的映射文件的方法

1.打开DB Browser,新建一个数据库的连接,找到想要持久化操作的数据库表的图标,右键选择hibernate reverse engineering 2.之后出现如下所示: java src folder:对应工程的src目录 java packega:对应工程中存放的包名,一般选择和持久化类放在一起 create pojo<>DB table mapping information:选上    create a hibernate mapping file(*.hbm.xml) for