资源推荐:
视频资源: 软件测试相关系列视频
社区资源: 自动化测试交流群
今天在使用maven构建测试的时候,console输出很多错误信息,大概是某些类找不到符号,查了相关资料发现maven是通过依赖范围来控制项目构建各个阶段(编译,测试,运行)所需的classpath
,maven有compile,test,provided,runtime,system几种依赖范围
1、compile:编译依赖范围,如果没有指定,默认情况下使用该依赖范围,该依赖范围对于编译,测试,运行三种classpath都有效
2、test:测试依赖范围,只对编译测试文件,运行测试文件时有效,即对于src/test/java下的文件有效
3、provided:已提供依赖范围,只对编译,测试时有效,对于运行时无效,如servlet-api,编译,测试时需要该依赖,但在运行时,由于容器已经提供,无需重复添加
4、runtime:运行时依赖,对于测试和运行classpath有效,但在编译主代码时无效,如,JDBC驱动实现,编译时只需要JDK提供的JDBC接口,只有在执行测试和运行项目时需要
5、system:系统依赖范围,与provided一致,不同的是使用该范围时必须使用systemPath显示指定依赖文件的路径,此依赖范围不是通过maven仓库解析,切通常与本机系统绑定,所以可能造成不可移植性
总结,对于webDriver自动化测试过程中,经常使用的依赖范围是test(只对测试有效),provided(只对编译,测试有效)