发表于: 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...

http://img.blog.csdn.net/20150928155920354

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 ProjectMaven cleanMaven install之后就开始漫长的下载,期间还卡在下载过程中,有    些下载地址不能正常访问,需要翻墙,

3、用Maven运行main方法遇到问题,

   main方法的测试类放到src/test/java包下


  用maven命令行执行main方法:

     mvn compile

     mvn exec:java -Dexec.mainClass="com.oeasy.test.Test"

  报了ClassNotFoundException,

很长时间找不到原因,注意到一个问题,src/main/javasrc/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、运行前先编译代码,execjava不会自动编译代码,你需要手动执行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


参见文章1   参见文章2


返回列表 返回列表
评论

    分享到