因為近期在開發沒有界面,隻有接口的。項目架構如下
springmvc + mybatis
一般來說隻要測試service層即可。
junit 4 spring test spring 相關其他依賴包
<a href="http://www.bysocket.com/?p=315#">?</a>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<code>package com.xidian.wq.imaopay.controller.webservice;</code>
<code>import javax.annotation.resource;</code>
<code>import org.junit.test;</code>
<code>import org.junit.runner.runwith;</code>
<code>import org.springframework.test.context.contextconfiguration;</code>
<code>import org.springframework.test.context.junit4.abstractjunit4springcontexttests;</code>
<code>import org.springframework.test.context.junit4.springjunit4classrunner;</code>
<code>@runwith(springjunit4classrunner.class)</code>
<code>@contextconfiguration(locations =</code>
<code>{</code>
<code> </code><code>"classpath:spring.xml",</code>
<code> </code><code>"classpath:spring-mvc.xml",</code>
<code> </code><code>"classpath:spring-mybatis.xml"</code>
<code>})</code>
<code>public class querycontrollertest extends abstractjunit4springcontexttests{</code>
<code> </code>
<code> </code><code>@resource</code>
<code> </code><code>private querycontroller querycontroller;</code>
<code> </code><code>@test</code>
<code> </code><code>public void testgetrepaycashflow()</code>
<code> </code><code>{</code>
<code> </code><code>string opencode = "d370f9630b0cc559a139be8db774e1e9ed15118f49d2c9f82acf62a3e2809d47";</code>
<code> </code><code>string repayid = "1350";</code>
<code> </code><code>string xmlstr = querycontroller.getrepaycashflow(opencode, repayid);</code>
<code> </code><code>system.out.println(xmlstr);</code>
<code> </code><code>}</code>
<code>}</code>
代碼詳解如下:
1、測試類的包名注意友善自己管理 2、springjunit4classrunner.class 表示運用junit4進行測試 3、contextconfiguration 表示指定配置檔案所在的位置 另外,類頭部還可以加上。可以設定事務如下: @transactionconfiguration(transactionmanagert=”txmgr”,defaultrollback=false) @transactional 4、@resource 注解被用來激活一個命名資源(named resource)的依賴注入。其中指有個name為“querycontroller”已經注入為bean。這裡插一句核心的話: “測試controller時,并沒有這個bean,怎麼辦呢? 可以直接在将controller作為一個service層。即加入注解 @service即可” 5、@test标注在方法前,表示一個測試的方法
筆者用fastjson,直接棧溢出了。後來debug得知是,fastjson問題。
如圖,junit test即可