zoukankan      html  css  js  c++  java
  • python-记录一个unittest坑,xmlrunner没有生成对应的xml文件的问题

    遇到一个问题:

      xmlrunner和unittest放在一起,很大可能不生成xml文件的问题;

    解决办法:

      单独写xmlrunner的调用,执行成功。

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    '''
    __author__ = 'wyf349'
    __mtime__ = '2019/12/20'
    '''
    '''
    版本修改:
    V 1.0.2 增加单元测试模块
    '''
    
    import unittest
    import xmlrunner
    import os
    from CCTVnews_text_V1 import *
    
    
    class Test_getNews(unittest.TestCase):
    
        url_t1 = r'http://www.xwlb.top/xwlb.html'
        url_t2 = r'http://www.xwlb.top/xwlb.html'
        url_t3 = r'http://www.xwlb.top/xwlb.html'
        #通过类属性设置unittest的简单参数化
        def teardown(self):
            #每个测试用例执行之后做操作
            print('unittest is ended!')
    
        def setUp(self):
            #么个测试用例执行之前做操作,可以在这里用JSON设置参数化
            print('Test starting...')
    
        @classmethod
        def tearDownClass(self):
            #必须使用 @classmethod 装饰器,所有的test运行完之后运行一次
            if os.path.isfile(r'./temp/text.tmp'):
                os.remove(r'./temp/text.tmp')
                print('临时文件清理!')
            print('case ended!!')
    
        @classmethod
        def setUpClass(self):
            #必须使用 @classmethod 装饰器,所有的test运行之前运行一次
            print('start to test getnews!')
    
        def test_a_run(self):
            self.assertTrue(getRespose(self.url_t1))
            #测试用例
    
        def test_b_run(self):
            self.assertTrue(getNowUrls(self.url_t1, 1))
    
        def test_c_run(self):
            self.assertTrue(getNowUrls(self.url_t1, 2))
    
        def test_c_run(self):
            self.assertTrue(textWrite('1', '2', file_path=r'.	emp', file_name=r'text.tmp'))
    
        def test_d_run(self):
            self.assertTrue(pageParsing(self.url_t2))
    
        def test_e_run(self):
            self.assertTrue(getRespose(self.url_t3))
    
    if __name__=='__main__':
        test_suite = unittest.TestSuite()
        test_suite.addTest(unittest.makeSuite(Test_getNews))
        #使用makeSuite方法添加所有的测试方法
        #test_suite.addTest(Test_getNews('test_e_run'))
        # 测试套件中添加测试用例
        runner = xmlrunner.XMLTestRunner(output='report-xml')
        #指定报告放的目录
        runner.run(test_suite)
    

      独立文件,成功;

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    import unittest
    import xmlrunner
    from Test_getNews import *
    
    if __name__=='__main__':
        test_suite = unittest.TestSuite()
        test_suite.addTest(unittest.makeSuite(Test_getNews))
        #使用makeSuite方法添加所有的测试方法
        #test_suite.addTest(Test_getNews('test_e_run'))
        # 测试套件中添加测试用例
        runner = xmlrunner.XMLTestRunner(output='report-xml')
        #指定报告放的目录
        runner.run(test_suite)
    

      

  • 相关阅读:
    C#创建https请求并使用pfx证书 拓荒者
    "类型初始值设定项引发异常" 解决方法 拓荒者
    Web乱码解决方法 拓荒者
    Asp.net Ajax Accordion控件的用法 拓荒者
    【转】最强日期正则表达式 拓荒者
    【转】Http之Get/Post请求区别 拓荒者
    【转】Log4Net五步走 拓荒者
    SqlServer 错误:"SQL Server 无法生成 FRunCM 线程" 解决办法 拓荒者
    log4net用法实例 拓荒者
    Asp.net Ajax Calendar控件用法 拓荒者
  • 原文地址:https://www.cnblogs.com/wyf-349/p/12107940.html
Copyright © 2011-2022 走看看