Junit单元测试

操作环境是idea

1、创建一个maven项目

下面的选项随便选, 最后直接finish

得到的项目结构就是最简单的这种:

会发现,这种方式创建的是没有xml文件的,后面如果要用到xml文件,需要自己创建。

2、创建相应的类和service

3、创建junit测试类

结构如下:

创建有不同的方式,

基础版:手动创建和测试类相同包名的包,并手动创建相应的类,然后在里面写代码。

快捷版:直接点击被测试类AlertService 使用 Command+Shift+T (mac),选择创建新的Test

这是一种快捷键方式,对应的手动操作是,鼠标右键点击类名 使用 goto-Test,即可实现,然后又跳到上面的界面。

我理解的是这种快捷方式可以方便的写出一个被测试类中的所有要测试的方法,不用手动去写,这非常的方便,而且不容易遗漏。对于一个待测试类中有很多要测试的方法的情况非常的友好。

 

4、实现junit测试类中的代码:

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:spring/application.xml"})
public class AlertServiceTest {
    @Autowired
    private AlertService alertService;

    @Test
    public void sendSpittleAlert() {
        Spittle spittle = new Spittle();
        alertService.sendSpittleAlert(spittle);
    }
}

注意点:

1)测试类上面要加@RunWith(SpringJUnit4ClassRunner.class)

2)@ContextConfiguration(locations = {"classpath:spring/application.xml"})

这个地方是配置的xml文件地址,其目录结构如下,当然如果只是为了测试,也可以在test文件夹下的resource中的相应位置。

 

5、xml文件样式:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:c="http://www.springframework.org/schema/c"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:p="http://www.springframework.org/schema/p"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
		"
       default-autowire="byName">

    <bean id="connectionFactory" class="org.apache.activemq.spring.ActiveMQConnectionFactory"
          p:brokerURL="tcp:localhost:61616"/>

    <bean id="queue" class="org.apache.activemq.command.ActiveMQQueue"
          c:name="spitter.queue"/>

    <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"
          c:_0-ref="connectionFactory"
          p:defaultDestinationName="spittle.alert.queue"
          p:messageConverter-ref="messageConverter"/>

    <bean id="messageConverter" class="org.springframework.jms.support.converter.MappingJackson2MessageConverter"/>

    <context:component-scan base-package="com.activemq"/>


</beans>
注意:
1)<context:component-scan base-package="com.activemq"/>

一定要加上这句,否则扫描不进@Service等注解bean

(前提是我没有使用注解的方式扫描,这种方式没有试)

2)要注意上面xmlns和xsi的配置,

如果有点显示灰色,说明没有起效果或没用到,如果:

xmlns:context="http://www.springframework.org/schema/context"
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd

这两个,没有起效果或者没有配置,启动的时候下面的<context>会报错。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值