1. 程式人生 > >SSH框架下用JUnit和spring-test和EasyMock單元測試

SSH框架下用JUnit和spring-test和EasyMock單元測試

用Junit和EasyMock測試註冊用例說明及結果截圖

1.  沒有相同使用者名稱,可以用該使用者名稱註冊

說明:為需要呼叫的IuserService介面例項建立mock物件,並模擬返回find(查詢資料庫中是否同名)結果為null,即資料庫中

無該使用者名稱,可以註冊

package com.user.action;

import static org.junit.Assert.*;
import com.user.entity.User;
import com.user.service.IUserService;
import com.user.dao.UserDAO;
import org.junit.Test;
import org.easymock.EasyMock;
import org.junit.runner.RunWith;

/*import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

 @RunWith(SpringJUnit4ClassRunner.class)
 @ContextConfiguration(locations = "classpath:beans.xml")*/
public class RegisterTest {
	/**
	 * @param args
	 */

	/*
	 * @Autowired
	 * 
	 * @Qualifier("user")
	 */
	private User user = new User();
	/*
	 * @Autowired
	 * 
	 * @Qualifier("userDAO")
	 */
	private UserDAO userDAO;
	/*
	 * @Autowired
	 * 
	 * @Qualifier("userService")
	 */
	private IUserService userService;
	private RegistAction registAction = new RegistAction();

	static String username = "louzhefeng";
	static String password = "pass";
	static String name = "louzhefeng";
	static int age = 12;
	static String address = "小和山";

	public RegisterTest() {

	}

	// getUsername測試用例
	@Test
	public void testGetUsername() {
		User user2 = new User();
		String name1 = "haha";
		user.setUsername(username);
		String expResult = "louzhefeng";
		String result = user.getUsername();
		assertEquals(expResult, result);

	}

	// 使用EasyMock和JUnit測試註冊用例的Action層
	@Test
	public void testRegister() {
		User user1 = null; // 表示查詢不到相同使用者名稱,可以用該使用者名稱註冊
		//User user1=new User();
		IUserService mock = EasyMock.createMock(IUserService.class);// 為IUserService建立mock物件
		EasyMock.expect(mock.find("username", username)).andReturn(user1);// find方法表示查詢資料庫中是否已有該使用者名稱
		User user3 = new User();
		mock.create(user3);// regist方法中需要執行,必須放在replay(mock)之前!!
		EasyMock.replay(mock);
		user3.setUsername(username);
		registAction.setUser(user3);
		registAction.setUserService(mock);// 將mock物件set進來
		String result = registAction.regist();
		String expResult = "regist";
		assertEquals(expResult, result);
	}
}


相關推薦

SSH框架JUnitspring-testEasyMock單元測試

用Junit和EasyMock測試註冊用例說明及結果截圖 1.  沒有相同使用者名稱,可以用該使用者名稱註冊 說明:為需要呼叫的IuserService介面例項建立mock物件,並模擬返回find(查詢資料庫中是否同名)結果為null,即資料庫中 無該使用者名稱,可以註冊 package com.user

IntellIj 在SSH框架Junit測試單元

Junit單元測試 專案中引入junit元件包,Junit必須使用Spring框架附帶的版本,自行從Junit官方網站下載的junit不一定可以使用。 父類定義為AbstractJUnit4SpringContextTests 幾個Annonation @

java ssh 框架 利用junit4 spring-test進行單元測試

ssh框架下  由於bean實列 都交給spring 管理,要做單元測試就比較苦難,junit4 引入註解方便很多; 1. 加入依賴包   使用Spring的測試框架需要加入以下依賴包: Spring Test (Spring框架中的test包)Spring 相關其

spring 框架,如何通過攔截器過濾器讀取request裡的內容

當我們用spring 攔截器實現許可權校驗的時候,往往我們需要從request中獲取一些資料進行校驗,但是當我們在攔截器獲取到資料,getinputStream,那麼在後續的action即:controller中我們獲取不到request,這是為什麼呢?因為java.util

android環境搭建之旅-- (三)XPsource insight檢視程式碼SSH,putty的安裝

前面已經介紹了samba伺服器的配置,那麼之前習慣用source insight看程式碼,有了共享也可以實現嗎??答案是肯定的。可以建立對映來實現 重啟過幾次發現ubuntu的IP幾次是變化的。 1.固定ubuntu的IP先在終端輸入#ifconfig檢視ip,然後就可以

在ubuntusublime text3編譯C++pascal

amp cto windows ase wall ubuntu class dir sca 編譯C++: 選擇Tools -> Build System -> New Build System,把下面代碼拷貝進去,保存,自己起個名字。 然後打開C++文件,選擇T

SSM框架的CRUD項目搭建配置

pom.xml 視圖 bean log 生成策略 項目搭建 數據庫連接 整合 邏輯控制 1.建立Maven工程,轉化成動態Web工程,生成web.xml文件。 2.在pom.xml中引入項目依賴的jar包。 在mbg.xml中配置數據庫連接和逆向工程的生成策略。 3.在we

SpringBoot框架基於Junit單元測試

項目 bject 必須 -s rsquo ember dde 用戶名 針對 前言 Junit是一個Java語言的單元測試框架,被開發者用於實施對應用程序的單元測試,加快程序編制速度,同時提高編碼的質量。是一個在發展,現在已經到junit5,在javaEE開發中與很多框架相

SSH框架的分頁查詢

一 配置PageBean的java類,即分頁封裝的類。(泛型) 配置一個分頁查詢的實體類,需要配置什麼私有變數?顯然,當前處於多少頁是需要的,總頁數是需要的;總記錄數是需要的,每頁顯示多少個記錄是需要的;記錄內容(集合)也是需要的。 二 顯示當前從資料庫返回的集合記錄的程式碼邏輯: 前幾

再次探究SSH框架struts兩種配置的區別

眾所周知,在ssh框架下,struts有兩種配置方式。一種是直接自己進行配置,另外一種是把事務交給Spring。一般來說,SSH的框架推薦使用後者方式進行配置,從而方便進行aop管理等操作。 那麼,這兩種方式究竟有何區別?本文試從兩個方面對此進行討論:一是兩者在配置上的差異,二是兩者在執行原

SSH框架Ueditor相關配置問題

1.下載UEditor【1.4.3 JSP版本】,關於Ueditor的配置也可以參照官網JSP 使用說明。  2.把下載的Ueditor檔案匯入到工程中的WebContent目錄下(可以直接把下載的壓縮包解壓之後複製貼上進來): 3.匯入完成後,把Ueditor檔案中

解決MAVENassembly打包spring.handlersspring.schemas出錯的問題

專案不打包執行正常,打包後報出異常Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace 發現是有些spring的jar包包含spring.handle

SSH框架的條件查詢及查詢結果分頁

之前看過許多別人BLOG中寫的方案,但是沒有自己動手從資料庫、後端、前端全過程實現的話,難以發現自己存在問題。一是沒有形成自己獨有的解決方案,二是不知道理論和現實之間的差異。 本文例子的使用場景:資料庫中儲存了一系列商品資訊,欄位包括商品名字和商品價格。 需

LinuxMakefile製作動態庫靜態庫並編譯生成可執行程式

Makefile 一個工程中的原始檔不計其數,其按型別、功能、模組分別放在若干個目錄中,makefile定義了一系列的規則來指定,哪些檔案需要先編譯,哪些檔案需要後編譯,哪些檔案需要重新

在UbuntuWindows命令列升級NodeJSnpm的版本

1.在Ubuntu系統下: 檢視當前NodeJS和npm的版本: node -v npm -v 在Linux系統下使用一個叫n的包管理器來對NodeJS進行升級。 先清除npm的cache: sudo npm cache clean -f安裝n模組:sudo npm in

ssh框架,外來鍵約束問題

嚴重: Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' define

SSH 框架圖片上傳與顯示

這幾天在弄畢設,有幾個需求是要上傳圖片的,看了很多教程,各有各的說法,關鍵點、細節很多說不明白,自己倒騰了幾天,弄出來了,給大家分享一下。上傳圖片的JSP<%@ page language="java" import="java.util.*" pageEncoding

Java之基於Eclipse搭建SSH框架()

在上篇部落格裡,我簡單介紹了Tomcat滴配置與Struts2滴搭建,如果對這個還不會滴童鞋去看一下我滴上篇部落格《Java之基於Eclipse搭建SSH框架(上)》。今天我們接著上篇部落格滴內容,繼續搭建我們滴SSH框架。 (一)在上篇部落格滴基礎上整合Sp

SSH框架整合過程(Struts2+Spring+Hibernate)

在學習java框架的過程中,我總結過如下文章:在將三大框架都學習一遍之後,再來看看如何整合SSH框架。先來看看SSH框架如何配合使用,如圖所示:整合步驟:1、匯入所需jar包。2、搭建struts2環境

ssh框架 url 路徑問題

路徑問題:在struts的package(preparation/Piping/PidinitAction.action)路徑下的頁面裡有個URL,    是連線到其他struts的package下的(preparation/BasicData/SysSubSyspartA