• BSTestRunner——一个丑在路上的python unnitest HTML报告生成Runner


    今天忽然看到HTMLTestRunner的样式,第一眼的感觉是样式有点过时了,稍微看了下源码,果然最后更新时间是几年前,由于实现比较简单,所以顺手将样式改一下。

    效果图

    设计思想

    既然有UI,那么如果不提设计思想就会让人觉得很low。

    BSTestRunner的设计思想是:大量留白,创造高档的氛围,顺便使用bootstrap3,用最傻瓜的方式实现响应式。

    github地址

    BSTestRunner

    使用示例

    首先一定要下载BSTestRunner.py这个文件,然后扔到你觉得合适的地方,这个例子里我放到了当前目录下。

    目录结构

    BSTestRunner.py
    insertion_sort.py
    

    insertion_sort.py的源码

    import unittest
    import BSTestRunner
    
    def insertion_sort(data):
        for i in range(1, len(data)):
            position = i - 1
            cur = data[i]
    
            while position >= 0 and cur < data[position]:
                data[position + 1] = data[position]
                position = position - 1
    
            data[position + 1] = cur
    
    class InsertSortTest(unittest.TestCase):
        def setUp(self):
            self.data = [3, 7, 21, 8, 5, 40]
            self.sorted_data = [3, 5, 7, 8, 21, 40]
    
        def test_insertion_sort(self):
            insertion_sort(self.data)
            self.assertEqual(self.data, self.sorted_data)
    
        def test_insertion_sort_with_all_zero_data(self):
            data = [0, 0, 0, 0, 0]
            insertion_sort(data)
            self.assertEqual(data, data)
    
    if __name__ == '__main__':
        BSTestRunner.main()
    

    运行

    python insertion_sort.py > report.html
    

    应该看到的结果

    ..
    Time Elapsed: 0:00:00.001000
    

    此时当前路径下会多出一个report.html文件,用浏览器打开,结果如下所示

    后续计划

    有需求麻烦在github上提issue

  • 相关阅读:
    集训日记
    各种考试
    树上差分
    树的直径
    讲课
    adb常用命令
    关于appium的简单理解
    使用appium过程中常遇到的坑以及解决方案
    JMeter面试题
    fiddler面试题
  • 原文地址:https://www.cnblogs.com/nbkhic/p/5914400.html
Copyright © 2020-2023  润新知