def test_two_positive_division(self, case_list):
        """
        两正数相除
        :return: 当前测试用例的名称及测试结果
        """

        result_address = "测试时间:{}测试用例名称是{},测试结果是: ".format(
            TestDivision.now,
            inspect.stack()[0][3])

        msg = case_list.tittle
        except_result = case_list.except_result
        first_num = case_list.first_num
        second_num = case_list.second_num
        act_result = case_list.act_result
        case_num = case_list.case_num

        try:
            act_result = MathNum(first_num, second_num).two_division()
            self.assertEqual(except_result, act_result, msg=msg)
        except AssertionError as a:
            # self.file.write("\n{}不通过,原因是{}\n".format(result_address,a))
            do_log.error("\n{}不通过,原因是{}\n".format(result_address, a))
            self.exl.excel_write(row=case_num + 1,
                                 real_result=act_result,
                                 result=do_config("result", "Fail"))
            raise a

        else:
            # self.file.write( "\n{},Pass\n".format(result_address + msg) )
            do_log.error("\n{},Pass\n".format(result_address + msg))
            self.exl.excel_write(row=case_num + 1,
                                 real_result=act_result,
                                 result=do_config("result", "success"))
Esempio n. 2
0
    def __init__(self):
        """
        :param name:日志收集器的名字
        :param level: 日志收集器的等级
        """
        # 定义名为case的日志收集器对象
        self.loger = logging.getLogger(do_config("log", "name"))
        # 定义日志收集器等级
        self.loger.setLevel(do_config("log", "content_level"))
        # 定义输出到终端
        consle_handle = logging.StreamHandler()
        file_handle = RotatingFileHandler(
            filename=do_config("log", "log_name"),
            mode="a",
            maxBytes=do_config("log", "Maxbytes"),
            backupCount=do_config("log", "count"),
            encoding=do_config("log", "encoding"))
        # 定义日志输出出道等级
        consle_handle.setLevel(do_config("log", "content_level"))
        file_handle.setLevel(do_config("log", "content_level"))
        # 定义日志显示格式
        consle_format = logging.Formatter(do_config("log", "simple"))
        file_format = logging.Formatter(do_config("log", "clear"))

        consle_handle.setFormatter(consle_format)
        file_handle.setFormatter(file_format)
        self.loger.addHandler(consle_handle)
        self.loger.addHandler(file_handle)
class TestDivision(unittest.TestCase):
    """测试两数相除的类"""
    now = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
    exl = ExcelOption(filename=do_config("file path", "excel_path"),
                      sheetname="division")
    case_list = exl.get_cases()

    @classmethod
    def setUpClass(cls):
        # cls.file_name = do_config("file path","report_path")
        # cls.file = open( cls.file_name , mode = "a" , encoding = "utf-8" )
        # cls.file.write( "{:*^40s}".format( "测试开始" ) )
        do_log.info("{:*^40s}".format("测试开始"))

    @classmethod
    def tearDownClass(cls):
        # cls.file.write( "{:*^40s}".format( "测试结束" ) )
        # cls.file.close()
        do_log.info("{:*^40s}".format("测试结束"))

    @data(*case_list)
    def test_two_positive_division(self, case_list):
        """
        两正数相除
        :return: 当前测试用例的名称及测试结果
        """

        result_address = "测试时间:{}测试用例名称是{},测试结果是: ".format(
            TestDivision.now,
            inspect.stack()[0][3])

        msg = case_list.tittle
        except_result = case_list.except_result
        first_num = case_list.first_num
        second_num = case_list.second_num
        act_result = case_list.act_result
        case_num = case_list.case_num

        try:
            act_result = MathNum(first_num, second_num).two_division()
            self.assertEqual(except_result, act_result, msg=msg)
        except AssertionError as a:
            # self.file.write("\n{}不通过,原因是{}\n".format(result_address,a))
            do_log.error("\n{}不通过,原因是{}\n".format(result_address, a))
            self.exl.excel_write(row=case_num + 1,
                                 real_result=act_result,
                                 result=do_config("result", "Fail"))
            raise a

        else:
            # self.file.write( "\n{},Pass\n".format(result_address + msg) )
            do_log.error("\n{},Pass\n".format(result_address + msg))
            self.exl.excel_write(row=case_num + 1,
                                 real_result=act_result,
                                 result=do_config("result", "success"))
Esempio n. 4
0
    def excel_write(self, row, real_result, result):
        """

        :param row:写入的行号
        :param real_result: 测试实际结果
        :param result:测试结果 pass/fail
        :return:
        """
        self.wb = load_workbook(self.filename)
        self.ws = self.wb[self.sheetname]
        if isinstance(row, int) and (2 <= row <= self.ws.max_row):
            self.ws.cell(row=row,
                         column=do_config("column", "act_column"),
                         value=real_result)
            self.ws.cell(row=row,
                         column=do_config("column", "res_column"),
                         value=result)
            self.wb.save(self.filename)
        else:
            print("传入行号有误,行号应大于1的整数")
Esempio n. 5
0
            case = tuple(
                self.ws.iter_rows(min_row=row, max_row=row,
                                  values_only=True))[0]
            return self.Case(*case)
        else:
            print("只能是正整数")

    def excel_write(self, row, real_result, result):
        """

        :param row:写入的行号
        :param real_result: 测试实际结果
        :param result:测试结果 pass/fail
        :return:
        """
        self.wb = load_workbook(self.filename)
        self.ws = self.wb[self.sheetname]
        if isinstance(row, int) and (2 <= row <= self.ws.max_row):
            self.ws.cell(row=row,
                         column=do_config("column", "act_column"),
                         value=real_result)
            self.ws.cell(row=row,
                         column=do_config("column", "res_column"),
                         value=result)
            self.wb.save(self.filename)
        else:
            print("传入行号有误,行号应大于1的整数")


do_excel = ExcelOption(do_config("file path", "excel_path"))