发表于: 2017-01-14 23:09:50
4 2234
今天完成的事情:
1、学习用Maven命令跑单元测试,执行Main方法
2、把昨天重构代码写完
明天计划的事情:
1、测试一下连接DB中断后TryCatch是否能正常处理。
2、测试一下不关闭连接池的时候,在Main函数里写1000个循环调用会出现什么情况。
遇到的问题:
1、新建Maven Web项目没有WEB-INF文件夹,项目右键——>Properties——>Project Facets——>Further configuration availabel...
2、运行web项目时报错,出现错误提示框Sever Error,
The Tomcat server configuration at \Servers\Tomcat v7.0 Server at localhost-config is missing. Check the server for errors.
解决方案:
删除原来关联的tomcate,重新关联一个新的,Perferences——>Server——>Runtime Environment,先把原来存在的Tomcat Remove掉,在重新Add之后项目出现大量报错:
执行Update Project,Maven clean,Maven install之后就开始漫长的下载,期间还卡在下载过程中,有 些下载地址不能正常访问,需要翻墙,
3、用Maven运行main方法遇到问题,
main方法的测试类放到src/test/java包下
用maven命令行执行main方法:
mvn compile
mvn exec:java -Dexec.mainClass="com.oeasy.test.Test"
报了ClassNotFoundException,
很长时间找不到原因,注意到一个问题,src/main/java和src/test/java的目录下路径名称都可以用“包名/类名”表示,考虑会不会执行命令时是去src/main/java下找不到类才报的错。为了验证复制一份测试方法到src/main/java下,测试成功,说明确实是去src/main/java下找了,这也说明main方法应该放到src/main/java下,而不应该放到src/test/java用于测试
收获:
1、用Maven进行单元测试方法
mvn test -Dtest=TestClassName#testMethod
有一点要注意此命令需要在pom.xml同级目录下才能运行成功
2、运行前先编译代码,exec:java不会自动编译代码,你需要手动执行mvn compile来完成编译
编译完成后,执行exec运行main方法。
不需要传递参数:
mvn exec:java -Dexec.mainClass="com.oeasy.App"
需要传递参数:
mvn exec:java -Dexec.mainClass="com.oeasy.App" -Dexec.args="arg0 arg1 arg2"
指定对classpath的运行时依赖:
mvn exec:java -Dexec.mainClass="com.oeasy.App" -Dexec.classpathScope=runtime
评论