Maven中junit打包问题

1.scope标签的作用

    <!-- 添加junit单元测试包 -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>

[ERROR] /C:/Users/abc/Desktop/owowl/src/main/java/com/ys/redis/Demo.java:[6,17] 程序包org.junit不存在
[ERROR] /C:/Users/abc/Desktop/owowl/src/main/java/com/ys/redis/Demo.java:[7,17] 程序包org.junit不存在
[ERROR] /C:/Users/abc/Desktop/owowl/src/main/java/com/ys/redis/Demo.java:[15,10] 找不到符号

可以看到我已经在pom文件中配置了相关的dependency,但是仍然会显示错误。

这里对于像我这样的新手,我们应该先了解scope标签配置的作用

scope可以配置5个值

    * compile,缺省值,适用于所有阶段,会随着项目一起发布。 
    * provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。 
    * runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。 
    * test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。 
    * system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。

所以可以看到我们配置的是test级别的,所以相关的jar包不会随着项目发布
这里我们可以去掉test
test
2.打包时忽略单元测试

上面的方法虽然在控制台的显示中是没有报错的,但是,他却将单元测试类和相关jar一同打包了,这和我们的初衷不符。

在网上搜索了一下 - - Maven 编译打包时如何忽略测试用例的方法

在进行编译、打包时,maven会执行src/test/java中的单元测试用例
跳过测试用例有如下方法

1.-DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下。

2.-Dmaven.test.skip=true,不执行测试用例,也不编译测试用例类。

3.无法创建src/test/java

按照上面方法进行编译测试,但是依然没有效果………..好吧,真粗心,测试用例要放于src/test/Java

目录下,但是我创建资源文件的时候显示 src/test/Java is already exist

项目右键->buildPath configure Build Path->source 显示

Build path entry is missing: 项目名/src/test/java

解决方法有如下

 1.window>preferences->java->compiler->选择本地要用的Java版本
 2.window>preferences->java->installJars->修改为本地jdk 项目右键->buildPath
 3.configure Build Path->点击选项卡Libraries->选中JRE System Library-> 
 4.点击edit->选中Alternate JRE->选择jdk

之后,项目会自动创建src/test/java

我们将测试用例类移动到src/test/java下就可以了

http://blog.csdn.net/odeviloo/article/details/51056694
http://blog.csdn.net/kimylrong/article/details/50353161

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值