1、Maven项目构建
Maven是一个项目管理工具,目前大部分企业在做Java项目时首选的项目构建,管理工具
Maven特点
- 1.可以使用maven来编译执行你的代码
- 2.项目打包也可以使用maven来完成
- 3.maven可以实现项目模块化管理
- 4.maven可以在线管理依赖,项目依赖也很方便获取 -pip
- 5.maven提供了一些丰富的插件,方便项目持续集成 -Jenkins
Maven中央仓库
- maven这个项目维护的一个网站,在这个上面维护了非常多开源项目的jar包-依赖,并且维护了每个jar包的版本,便于项目开发者们去下载使用 http://mvnrepository.com/
Maven本地仓库
- 通过maven拿下来的jar包会被保存在用户本地的某个目录,这个是通过maven配置来指定的
Maven安装与配置
Maven下载
官网下载 http://maven.apache.org/download.cgi
Maven安装与配置
- step1:安装JDK、配置JAVA_HOME
- step2:Maven工具包解压到本地文件夹
- step3:配置MAVEN_HOME环境变量,指向Maven文件夹
- step4:将Maven bin目录更新到PATH:%MAVEN_HOME%in;
- step5:验证:mvn -version
Maven全局配置文件修改
- step1:打开maven根目录下的conf目录
- step2:编辑settings.xml
- step3:找到localRepository注释
- step4:指定本地仓库目录
<localRepository>D:maven_repository</localRepository>
- step5:配置镜像,指定下载jar包的地址(有些jar包依赖在国外,下载比较慢,通过镜像服务器提高速度)
<mirrors> <mirror> <id>nexus-aliyun</id> <name>Nexus aliyun</name> <mirrorOf>central</mirrorOf> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> </mirror> </mirrors>
Intellij IDEA指定Maven配置文件
- File->Settings->搜索maven
- 修改Maven home directory 指向本地maven家目录
- 修改User Settings file指向用户自定义配置文件(Settings.xml文件)
- File->New Project Settings->Settings for New Projects->搜索maven
- 修改Maven home directory 指向本地maven家目录
- 修改User Settings file指向用户自定义配置文件(Settings.xml文件)
Maven项目创建
Maven项目创建选项说明
- Group Id-一般填写组织机构,如com.lemon
- Artifact Id-项目名
- Version-版本
Maven项目结构
- src/main/java-一般是开发人员写代码的目录
- src/main/resources-开发人员放项目资源文件的目录
- src/test/java-放单元测试(或测试人员)代码的目录
- src/test/resources-放测试资源文件的目录
- External Libraries-通过maven拿下来的项目依赖包存放目录
- target-存放构建后文件的目录
创建的Maven没有src/test/resources目录解决方案:
- File->Project Structure->Modules->Sources
- 在src->test下新建文件夹resources
- 点击Resources将resources文件夹标记为Resources资源目录
pom.xml配置文件
POM,即项目对象模型,是Maven工作的基本单位,一个位于项目目录中的xml文件:pom.xml ,其中
可以包含项目构建的各种配置信息 每个项目只有一个 pom.xml 添加依赖:
http://mvnrepository.com/搜索testng,点击获取位置坐标如下图:
添加到pom.xml中;
<!-- https://mvnrepository.com/artifact/org.testng/testng --> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>7.1.0</version> <scope>test</scope> </dependency>
然后右键,maven后刷新加载
添加完dependency到依赖包拿下来可能会需要等待一会时间,下载下来以后就会出现在External
Libraries这一栏目下
2、TestNG单元测试框架
TestNG(Testing Next Generation,下一代测试技术,是一个单元测试框架,它提供了一系列的丰富
注解(标签)来帮助我们很方便的编写和管理被测项目的测试类和测试方法, 而且功能比junit更强
大,支持依赖测试,忽略测试,异常测试,超时测试等多种测试场景。
TestNG常用注解
- @Test-标记为测试方法
- @BeforeMethod/@AfterMethod-在某个测试方法(method)执行之前/结束之后
- @BeforeClass/@AfterClass-在某个测试类(class)所有开始之前/结束之后
- @BeforeTest/@AfterTest-在某个测试(test)所有测试执行开始之前/结束之后
- @BeforeSuite/@AfterSuite-在某个测试套件(suite)所有测试方法执行开始之前/结束之后
Test注解常用属性
- 忽略测试-@Test(enabled = false)
当我们在测试的过程中,因为某些方面的原因,比如测试方法没有写完,或者有问题,我们暂时不希望
它得到执行,我们就可以添加忽略标签来跳过此方法的运行。
- 超时测试-@Test(timeout=1000)
“超时”表示如果自动化测试花费的时间超过指定的毫秒数,那么TestNG将会中止它并将其标记为失败。
这样在某些业务场景下,我们认为一个请求时间过长我们就可以直接宣判他因为超时而失败。
timeout属性的单位为毫秒。
- 依赖测试-@Test(dependsOnMethods={"test2"})
测试方法依赖于某些方法
方法执行顺序
- step1:先执行被依赖的方法
- step2:再依次执行没配置依赖的方法
- step3:最后执行需要依赖的测试方法
- 测试方法优先级-@Test(priority = 1)
The scheduling priority. Lower priorities will be scheduled first.