使用testNG进行功能测试

我们使用spring的testng也可以实现像junit一样的功能测试。

1、引入jar包


   org.springframework
   spring-test


    commons-dbcp
    commons-dbcp
    1.4

2、实现AbstractTestNGSpringContextTests类

引入启动容器的配置文件,这些配置文件在test目录下,只用于测试,一般配置的是测试环境地址分别是context配置、数据源配置和redis配置(如果用到了redis的话)

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.testng.AbstractTestNGSpringContextTests;
import org.testng.annotations.BeforeSuite;

@ContextConfiguration(locations = {"classpath:conf/spring/spring-context-test.xml",
        "classpath:conf/spring/spring-dal-test.xml","classpath:conf/spring/spring-redis-test.xml"})
public class BaseTestNG extends AbstractTestNGSpringContextTests {
    protected Logger LOGGER;

    @BeforeSuite(alwaysRun = true)
    public void init() {
        LOGGER = LoggerFactory.getLogger(this.getClass().getSimpleName());

    }
}

首先看spring-context-test.xml,主要是启动包扫描和CGLIB创建代理bean




   
   
   
   

然后是spring-dal-test.xml,配置数据源




   
      
      
      
      
   
   
   
      
      
   
   
      
      
   
   
   
   
      
   
   
   

3、然后是在测试类中集成testng实现类,注意@Test注解是testng的注解

import com.teriste.BaseTestNG;
import com.teriste.intf.dto.UserInfoDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.testng.annotations.Test;

public class UserInfoSqlServiceImplTest extends BaseTestNG{
    @Autowired
    private UserInfoSqlServiceImpl userInfoSqlService;

    @Test
    public void saveUserInfoTest(){
        String userId = "test";
        UserInfoDto userInfoDto = new UserInfoDto();
        userInfoDto.setDept("111");
        userInfoDto.setSalary("222");
        userInfoSqlService.saveUserInfo(userId, userInfoDto);
    }
}

 

你可能感兴趣的:(testng,测试)