今天忽然看到HTMLTestRunner的樣式,第一眼的感覺是樣式有點過時了,稍微看了下源碼,果然最后更新時間是幾年前,由於實現比較簡單,所以順手將樣式改一下。
效果圖
設計思想
既然有UI,那么如果不提設計思想就會讓人覺得很low。
BSTestRunner的設計思想是:大量留白,創造高檔的氛圍,順便使用bootstrap3,用最傻瓜的方式實現響應式。
github地址
使用示例
首先一定要下載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