gmdzxx 发表于 2018-1-8 08:24:49

TestNG+ReportNG+IDEA+Git+Jenkins+surefire持续集成数据驱动dubbo接口测试

public>    @Autowired  private IUserBankSummaryService iUserBankSummaryService;
  private boolean handleOk;
  private String insertSql;
  private static String excel;
  private static Map allCases;
  private Integer testuser;
  private TestCase testcase;
  @BeforeMethod
  public void setUp() throws SQLException {
  //获取excel用例列表
  handleOk = true;
  testcase = CommonUtil_2.getTestCaseBean(allCases, "case1", "case1-1");
  testuser = Integer.valueOf(testcase.param1);
  //获取SQL
  insertSql = testcase.stepSql;
  //删除,添加数据
  handleOk &= deleteData(testuser);
  handleOk &= ManagedSqlUtil.insertBySql(insertSql, DBIdConstant.MySql_Basisdata_ID);
  System.out.println("----->> @BeforeClass is finished");
  }
  @DataProvider(name = "testData")
  private static Object[][] dataprovide()throws IOException {
  excel="src/main/resources/case/IUserBankSummaryService/TestGetBankIdsOfNeedMoreBill.xlsx";
  allCases = CommonUtil_2.getAllCases(excel);
  System.out.println("dataprovide方法执行");
  Object[][] testData = ExcelHandle.readXlsx(excel, "用例列表");
  return testData;
  }
  @Test(dataProvider="testData")
  public void test_case_1(HashMap<String, String> map) throws Exception {
  testuser =Integer.valueOf(map.get("userid"));
  //实际值:
  List<Integer> actual_list = iUserBankSummaryService.getBankIdsOfNeedMoreBill(testuser);
  //预期值:
  List<Integer> excepted_list = get_excepted_list(testuser);
  //验证:
  System.out.println("userId值:"+testuser);
  System.out.println("actual_list值:"+actual_list.toString());
  System.out.println("excepted_list值:"+excepted_list.toString());
  System.out.println("size值:"+excepted_list.size());
  if (excepted_list.size()==0){
  Assert.assertEquals(actual_list.toString(), "[]");
  }else {
  Assert.assertEquals(actual_list.toString(), excepted_list.toString());
  }
  System.out.println("----->> @Test is finished");
  }
  @AfterMethod
  public void tearDown() {
  testuser = Integer.valueOf(testcase.param1);
  handleOk &= deleteData(testuser);
  System.out.println("----->> AfterClass is finished");
  }
  //定义数据清理
  public boolean deleteData(Integer userid) {
  String deleteSql = "delete from t_user_bank_summary where userid = "+userid+";";
  handleOk &= ManagedSqlUtil.deleteBySql(deleteSql, DBIdConstant.MySql_Basisdata_ID);
  return handleOk;
  }
  //预期值
  public List<Integer> get_excepted_list(Integer userid)throws SQLException{
  String searchSql = " SELECT a.BankId " +
  "    FROM t_user_bank_summary a, (SELECT MAX(Id) mid " +
  "                           FROM t_user_bank_summary " +
  "                           WHERE UserId ="+userid+" " +
  "                           GROUP BY BankId) t " +
  "    WHERE a.id = t.mid AND EffectiveBillCount12M<11";
  ResultSet rs = ManagedSqlUtil.selectBySql(searchSql,DBIdConstant.MySql_Basisdata_ID);
  List<Integer> list = new ArrayList<Integer>();
  while (rs.next()){
  list.add(rs.getInt(1));
  }
  return list;
  }
  3、新建testsuite文件
页: [1]
查看完整版本: TestNG+ReportNG+IDEA+Git+Jenkins+surefire持续集成数据驱动dubbo接口测试