unittest中的测试数据遇到的问题
-
*_test.py中的testdata有更好的方式设置吗?
问题:
当前使用类变量,在每个test_*()中使用,有小变化直接方法内部修改了,但就有如下问题:
47 def test_check_autocc_alert_in_es(self): 48 """ test check_autocc_alert_in_es""" 49 t = autocc_check() 50 t.set_ssh(self.dic_test) 51 pacp_name = "Teamviewer-Win10toWin7.pcap_10.10.51.2" 52 interface = "tap1" 53 autocc_check_dic = {"check_type": "autocc" , "check_main_tag":"Teamviewer" } 54 tcpreplay_para = " -M 1 -l 10 " 55 t.get_autocc_pacp_ssh(pacp_name, interface, tcpreplay_para) 56 print("~~~~~~~~start ssh get es result ---------------") 57 print self.dic_test 58 self.dic_test["tdp_ip"] = "192.168.100.174" 59 t.set_ssh(self.dic_test, change_sshpass=0) 60 self.dic_test["tdp_ip"] = "127.0.0.1" 61 #[popexizhi:这种用法太危险了,全部执行unittest时影响测用例后面的测试啊,死都不知道是如何死的,testdata是否有更好的方式呢?] 62 print t.ssh_ip 63 res = t.check_autocc_alert_in_es(autocc_check_dic, "10.10.51.2") 64 print res 65 66 if __name__ == "__main__":
python *_test.py时,这个test_check_autocc_alert_in_es 执行pass了,但是之后的case就死活过不去,但单独
python *_test.py Test*.test_* 每个方法就可以运行通过,
最后发现是上面这个变量修改影响其他方法的使用了,好吧,现在想不出更好的解决,只是用完恢复一下,但是还有更好的,这也太不是自己想要的了。
没有评论:
发表评论