一、Max練習
1、在pom.xml中添加依賴
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>
2、編寫Max.java
public class Max {
private int a;
private int b;
public Max(int a,int b){
this.a=a;
this.b=b;
}
public int getMax(){
return a > b ? a : b;
}
}
3、配置bean
<!--配置Max-->
<bean id="max" class="com.spring.IoC.Max">
<constructor-arg name="a" value="5"/>
<constructor-arg name="b" value="3"/>
</bean>
4、創(chuàng)建Max單元測試
-
在Max類的聲明的后面按“Alt+Enter”,選擇“Create Test”,或者在類的代碼體右鍵單擊,選擇Generate->Test,在如圖所以界面勾選JUnit4,并勾選待測方法getMax(),點擊OK
day03-13.png - 完成后, 在Test包下,會自動創(chuàng)建一個MaxTest類,具體代碼
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;
import static org.junit.Assert.*;
//指定單元測試環(huán)境
@RunWith(SpringJUnit4ClassRunner.class)
//配置文件路徑
@ContextConfiguration(locations = {"/beans.xml"})
/**
* Created by Administrator on 2019/3/4.
*/
public class MaxTest {
//自動注入
@Autowired
private Max max;
@Test
public void getMax() throws Exception {
assertEquals(5,max.getMax());
}
}
頭部兩個注解表示指定運行環(huán)境和指定配置文件路徑,使用了@Autowired自動注入配置文件中的bean,使用assertEquals斷言,判斷期望值和實際值是否相等,并使用Logger記錄日志。
5、運行結果

day03-14.png
二、user UserLogin練習
定義User類,封裝account和password屬性,提供getter/setter,重載構造方法,重寫toString()方法
定義UserLogin類,封裝User屬性,提供getter/setter,并定義public boolean userLogin(User user);方法,判定某個用戶能否登陸成功,指定賬號為“admin”,密碼為“111”
寫配置文件,通過構造器注入創(chuàng)建一個User對象并傳值,通過setter注入創(chuàng)建UserLogin對象并傳值
寫單元測試,測試某用戶能否登陸成功
- User類
public class User {
private String account;
private String password;
public User(String account, String password) {
this.account = account;
this.password = password;
}
@Override
public String toString() {
return "User{" +
"account='" + account + '\'' +
", password='" + password + '\'' +
'}';
}
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
- UserLogin類
public class UserLogin {
private User user;
public UserLogin(){}
public UserLogin(User user) {
this.user = user;
}
public boolean UserLogin(User user){
if(user.getAccount().equals("admin")&&user.getPassword().equals("111")){
return true;
}else{
return false;
}
}
}
- UserLoginTest類
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;
import static org.junit.Assert.*;
@RunWith(SpringJUnit4ClassRunner.class) //指定單元測試環(huán)境
@ContextConfiguration(locations = {"/beans.xml"}) //配置文件路徑
public class UserLoginTest {
@Autowired
private UserLogin userLogin;
@Test
public void userLogin() throws Exception {
assertEquals(true,userLogin.UserLogin(userLogin.getUser()));
}
}
-
運行結果
day03-15.png

