python unittest不执行"if __name__ == '__main__' "问题

问题:

selenium导入unittest框架和HtmlReport框架后,HtmlReport不被执行。

假设代码为:

from selenium import webdriver

import unittest

class Test(unittest.TestCase):

  print "this is class Test"

  def setup(self):

    print "this is setup"

  def test_1(self):

    print "this is tesecase 1"

    #其他代码

  def tearDown(self):

    print "this is tearDown"

if __name__ == ‘__main__‘:

  print "this is __name__"

  #unittest.main()

网上搜索到的资料:

1、Pycharm运行导入unittest框架时,执行的的命令是“Run ‘Unittests in XXX‘ ”,如下图所示:

2、此时执行顺序为:Class->def setup ->def test_1 ->def tearDown

3、如果执行的命令为“Run XXX”,那么会先执行class后,就执行“if __name__ == ‘__main__‘ ”

参考资料:

http://www.ithao123.cn/content-6035445.html

python unittest不执行"if __name__ == '__main__' "问题

时间: 2024-10-06 13:57:19

python unittest不执行"if __name__ == '__main__' "问题的相关文章

Python 同一文件中,有unittest不执行“if __name__ == '__main__”,不生成HTMLTestRunner测试报告的解决方案

1.问题:Python中同一个.py文件中同时用unittest框架和HtmlReport框架后,HtmlReport不被执行. 2.为什么?其实不是HtmlReport不被执行,也不是HtmlReport不生成测试报告,是因为if __name__ == '__main__'中的代码根本没执行好嘛! 3.解决方案的来源:因为最开始我的main代码中没有写print打印语句.没有生成HTML报告,我也在网上找了很久的方法,后来才怀疑是不是没有运行main方法,于是写了个print语句,果然没有运

python中关于不执行if __name__ == '__main__':测试模块的解决

1.新建测试脚本文件: 2.编辑测试脚本 import unittest import requests import json import HTMLTestRunner ur1 = 'http://118.178.247.67:8081/systLogonUser/adminLogon.do' headers = {'Content-Type':'application/x-www-form-urlencoded','Referer':'118.178.247.67'} data = { '

第二种方式,修改python unittest的执行顺序,使用猴子补丁

1.按照测试用例的上下顺序,而不是按方法的名称的字母顺序来执行测试用例. 之前的文章链接 之前写的,不是猴子补丁,而是要把Test用例的类名传到run里面去执行,与原生的使用有一点区别.现在修改成,用的时候代码与原生unittest完全一模一样,但运行时候使用与原生不同的逻辑. import time import unittest from unittest.main import TestProgram from app.utils.utils_ydf import LogManager c

(转)Python中如何理解if __name__ == '__main__'

摘要 通俗的理解 __name__ == '__main__' :假如你叫李凯.py,在朋友眼中,你是李凯( __name__ == '李凯' ):在你自己眼中,你是你自己( __name__ == '__main__' ). if __name__ == '__main__' 的意思是:当.py文件被直接运行时, if __name__ == '__main__' 之下的代码块将被运行:当.py文件以模块形式被导入时, if __name__ == '__main__' 之下的代码块不被运行.

python中if __name__ == '__main__':

Using a module's __name__ Example? 8.2.? Using a module's __name__ #!/usr/bin/python # Filename: using_name.py if __name__ == '__main__': print 'This program is being run by itself' else: print 'I am being imported from another module' Output $ pytho

python   __name__=='__main__' 用法

python 文件的后缀为.py,比如 name.py python 文件可以直接执行,也可以被导入.调用,比如import name; script 1: #!/bin/python # Filename:name.py if __name__=='__main__':     print 'This program is being run by itself' else:     print 'I am being imported from another module' script

Python中的if __name__='__main__'语句的作用

笔者在自学Python的过程中,对于if __name__='__main__'的用法感到很困惑,在think Python一书中原作者的源代码是这么解释if __name__='__main__'语句的: # the following condition checks whether we are # running as a script, in which case run the test code, # or being imported, in which case don't.

python中if __name__ == "__main__":用法解析

想必很多初次接触python的同学都会见到这样一个语句,if __name__ == "__main__": 1. python文件的后缀为.py: 2. .py文件既可以用来直接执行,就像一个小程序一样,也可以用来作为模块被导入(比如360安全卫士,就是依靠一个个功能模块来实现的,好比360安全卫士本身框架是一个桌面,而上面的图标就是快捷方式,这些快捷方式所指向的就是这一个个功能模块) 3. 在python中导入模块一般使用的是import 好了,在确定知道以上几点之后,就可以开始解

【转载】Python 中的 if __name__ == '__main__' 该如何理解

转自 旷世的忧伤 http://blog.konghy.cn/2017/04/24/python-entry-program/ 程序入口 对于很多编程语言来说,程序都必须要有一个入口,比如 C,C++,以及完全面向对象的编程语言 Java,C# 等.如果你接触过这些语言,对于程序入口这个概念应该很好理解,C 和 C++ 都需要有一个 main 函数来作为程序的入口,也就是程序的运行会从 main 函数开始.同样,Java 和 C# 必须要有一个包含 Main 方法的主类来作为程序入口. 而 Py