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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM