Java Spring搭配TestNG測試配置
阿新 • • 發佈:2019-02-03
環境
IDE:idea
JDK:1.8
TestNG:6.11
Spring:4.26
maven配置
spring測試相關的
<properties>
<file.encoding>UTF-8</file.encoding>
<spring.version>4.2.6.RELEASE</spring.version>
</properties>
<dependency>
<groupId>org.springframework</groupId>
<artifactId >spring-test</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId >
<version>${spring.version}</version>
</dependency>
TestNG
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.11</version>
<scope>test</scope>
</dependency>
測試程式碼
import com.smart.domain.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.testng.AbstractTransactionalTestNGSpringContextTests;
import org.springframework.transaction.annotation.Transactional;
import org.testng.annotations.Test;
import static org.testng.Assert.assertEquals;
@Transactional
@ContextConfiguration({"classpath*:/smart-context.xml"}) // 啟動Spring容器
public class UserServiceTest extends AbstractTransactionalTestNGSpringContextTests {
// 繼承Spring提供的TestNG測試類
private UserService userService;
@Test
public void getUserByUserName() {
User test = new User();
test.setUserName("admin");
test.setPassword("123456");
User user = userService.getByNameAndPassword(test);
assertEquals("admin", user.getUserName());
userService.loginSuccess(user);
}
@Autowired
public void setUserService(UserService userService) {
this.userService = userService;
}
}