在unittest框架下,向每个TestCase类传递参数

目前我的需求是:

1.每次运行一个测试集合(testsuit)e都会生成一个结果,并保存为html文件(为了不覆盖之前的测试结果,所以需要生成一个唯一标识)

2.运行之后会在数据库生成一条记录(django 的model--record),该记录与运行结果1 中的结果关联(即 唯一标识的html文件)

3.如果testsuit 中的testcase 类运行是有报错,则会在数据库生成一条记录(django 的model--bug),与1中的结果关联

分析上面三个需求,则得出,唯一标识的html文件需要与运行结束后存在数据库,也需要在运行中的时候存在数据库中,而且这个唯一标识不能写死,如果testsuit 有多个testcase则每个testcase中的 唯一标识还只能是一样的,之前尝试过 维护一个字典文件,但是带来的问题是,一个testsuit执行完了后才能执行完下一个,否则 唯一标识会被覆写,通过不断的debug,尝试了修改下testsutie 的源码,如何修改看下面讲解

 

一,使用 生成html文件,则我们在执行时先生成一个唯一标识(uuid),并将这个uuid写入 testsuite中

二,使用HTMLTestRunner 生成uuid+html

 

三,在HTMLTestRunner的run 方法中,将testsuite 的uuid 传递给result 的uuid中

 

四,uuid为什么要写入到 result,是因为在执行完成后满足需求2,(生成一条执行记录),之后将testsuite 中的testcase 写入uuid ,用于在执行用例时,如果有报错,则写入数据库中

五,在引用uuid 时

①,testcase中生成bug

②,在执行后生成 record

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章