转:http://blog.csdn.net/ypc1109/article/details/7665976
初接触maven,maven的路径和常规的eclipse项目不是很一样,java 文件放在src/main/java目录下,test文件放在src/test/java目录下,常规的测试方式是使用mvn test进行单元测试,但是使用eclipse习惯了,直接在IDE中进行测试的时候,报异常了,class not found exception。
刚开始查,以为是构建路径的问题,因为在看maven的时候网上有人说要设置 eclipse的buildpath,然后改过来改过去的,但是有时候好有时候坏,很是郁闷,感觉问题不在此。再仔细一琢磨,既然是class Not found,那就去找找这个class文件看看目录对不对啊,这一找就找到原因了,根本就没有这个类,也就是说,这个java文件根本就没有编译成 class文件。在eclipse中,是可以自动帮我们编译的,但是我们在maven中运行了mvn clean命令后,就将编译好的class文件清理掉了,这时候如果用maven进行测试,运行mvn test,maven会自动帮你再编译一遍,测试就可以正常运行。但是直接在eclipse中的话,eclipse找不到编译好的class文件,当然就 会报异常了。解决办法就是运行命令mvn test进行测试,这次测试通过之后,只要你没有再运行mvn clean,那么在eclipse中直接运行单元测试,也是可以通过的。
这次总结到的经验教训:有些问题,不要着急上网查,自己多琢磨一下为什么会报这样的异常,往深层次的原因想一下,或许解决办法很简单。
以上的为转载,我自己的验证过程:
1.首先dos窗口去到maven项目的文件夹下,该文件夹下有个pom.xml文件,如下:
D:\eclipseWorkspace\bbs7\branches\bbs7.0_pie_20130905>
再运行命令mvn test,如下:
D:\eclipseWorkspace\bbs7\branches\bbs7.0_pie_20130905>mvn test
maven就会把需要单元测试的类都编译好,放在上图中的target文件夹路径下,如:
到现在为止,就可以直接在eclipse上右键运行单元测试了。
如果不想要单元测试的类,再运行mvn clean命令就会删除target文件夹。单元测试的时候,每修改一点东西都要mvn test一次,有点麻烦,maven这个缺点在eclipse上还没找到解决方案。
相关推荐
在实际项目中,我们可以结合持续集成工具(如Jenkins)和测试报告插件(如JUnit Reports)使用Robotium,实现自动化测试的流程化。例如,当代码提交到版本控制系统时,持续集成服务器可以自动触发构建和测试,快速...
本篇文章将详细介绍如何在Windows环境下进行Android应用的Appium自动化测试。 #### 二、搭建环境 ##### 1. 搭建安卓环境 - **环境变量设置**:“ANDROID_HOME”是安卓开发环境的重要组成部分,用于存放SDK等工具。...
- **Tab问题**:在Makefile中,命令前的Tab字符是必需的,这可能导致语法错误,而Ant使用XML格式,避免了这种困扰。 - **语言基础**:Ant是基于Java的,因此可以在任何支持Java的平台上运行,而Makefile是平台相关...
对于没有使用构建工具的项目,需要确保所有依赖的jar包都已添加到项目的类路径中,以避免运行时的ClassNotFound异常。 4. **导入Excel数据**: 使用这些库,开发者可以创建Excel工作簿对象,然后创建工作表,并向...
- 部署后,如果遇到“ClassNotFound”异常,通常是因为缺少了某个依赖。此时,需要检查并确保所有必要的jar包都已包含在类路径中。 在开发过程中,使用IDE如IntelliJ IDEA或Eclipse,它们通常会有内置的集成支持,...
开发者需要确保所有必需的依赖都被正确地引入和配置,以避免运行时的ClassNotFound或其他错误。 4. **Spring框架**: 在Java企业级应用中,Spring框架经常被用来管理对象依赖、提供事务处理、AOP(面向切面编程)等...
print("Element not found") ``` ### 五、页面对象模式 页面对象模式是一种良好的实践,将页面元素和操作封装在单独的对象中,提高代码复用性和可维护性。例如,创建一个代表登录页面的类: ```python class ...
创建一个JUnit测试类,测试`UserService`的方法,确保可以从Oracle数据库中成功读取数据。例如: ```java package com.example.test; import com.example.model.User; import ...