基于SpringMVC+TestNG框架接口自动化环境搭建

一、TestNG相关jar包引用

1、在pom.xml文件中添加:

		<!-- testNG相关jar包引用 -->
		<dependency>
			<groupId>org.testng</groupId>
			<artifactId>testng</artifactId>
			<version>6.14.3</version>
			<scope>compile</scope>
		</dependency>
		<!---->
二、基于SpringMVC框架的测试文件引入基本标签
@WebAppConfiguration  //主要,重要load ApplicationContext
@ContextConfiguration({"classpath:spring.xml"})   //加载Spring
@TestExecutionListeners(listeners = DependencyInjectionTestExecutionListener.class)
public class BaseTest extends AbstractTestNGSpringContextTests {

    @Test(description = "XXX")
    public void test() throws Exception{
      
      System.out.println("Hello World!");

     }

}

注意:用TestNG框架的,import org.testng.annotations.Test;创建测试类的时候要继承AbstractTestNGSpringContextTests类。

在这里插入图片描述

三、举例
import com.aisino.financing.model.financial.FinancialProduct;
import com.alibaba.fastjson.JSONObject;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.springframework.beans.factory.annotation.Autowired;
import org.testng.Assert;
import org.testng.annotations.Test;
import tangjing.interfaces.MysqlDAO;
import tangjing.test.BaseTest;

import java.io.InputStream;
import java.util.List;


@WebAppConfiguration  //主要,重要load ApplicationContext
@ContextConfiguration({"classpath:spring.xml"})   //加载Spring
@TestExecutionListeners(listeners = DependencyInjectionTestExecutionListener.class)
public class FinancingEnterAccountGetMemberManageTest extends AbstractTestNGSpringContextTests {

    @Autowired
    private FinancialProductController financialProductController;

    @Test(description = "获取理财产品管理列表,包括企业产品和个人产品")
    public void test_01_financingProductGetProductManageTest() throws Exception{

        /**
         * 调用开发的方法,返回的数据
         */
        String financialProduct = financialProductController.getProductManage();
        JSONObject financialProductJSONObject = JSONObject.parseObject(financialProduct);
        logger.info("调用开发方法返回理财产品列表:"+financialProductJSONObject);
        String total = financialProductJSONObject.get("total").toString();


        /**
         * 测试sql,返回数据
         */
        /**
         *数据库获取某一个产品id
         */
        String resource = "mybatis_config.xml";
        //将硬盘中的xml变成一个输入流
        InputStream inputStream = Resources.getResourceAsStream(resource);
        //使用流对象创建一个会话工厂
        SqlSessionFactory sf = new SqlSessionFactoryBuilder().build(inputStream);
        //session就是程序员与数据库交互的入口s
        SqlSession session = sf.openSession();

        MysqlDAO mapper = session.getMapper(MysqlDAO.class);
        List<FinancialProduct> financialProductSqlList = mapper.getFinancialProductList();
            /*session.commit();
            //关闭会话,释放资源
            session.close();*/

        //测试查询数据库数据
        int testTotal = financialProductSqlList.size();

        /**
         * 比较
         */
        Assert.assertEquals(total,String.valueOf(testTotal));

    }

}

你可能感兴趣的:(测试框架)