💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
[TOC] 前言 经常有人在群里反馈,明明代码一样的啊,为什么别人的能出报告,我的出不了报告;为什么别人运行结果跟我的不一样啊。 这种问题先检查代码,确定是一样的,那就是运行姿势不对了,一旦导入unittest模块,pycharm会自动识别以unittest的姿势去运行了。 <br /> ## 一、unittest运行单个用例 1. 如下代码,如果我只想运行其中的一个,如test1,如何运行呢? ``` from selenium import webdriver import unittest class Test(unittest.TestCase): def setUp(self): self.driver = webdriver.Chrome() self.driver.get("http://www.cnblods.com/yoyotang") def test01(self): print(self.driver.title) def test_02(self): print(self.driver.title) if __name__ == "__main__": unittest.main() ``` 2. 如果想运行哪个用例,鼠标放到对应的区域,右键就能直接运行单个用例了 ![](https://img.kancloud.cn/68/bf/68bf5ba8b035b68808cbe6f9b7d74f9e_883x602.png) 3. 注意上图红色框框,显示的是Run 'Unittest test01',这个意思很明显,就是说以unittest的方式只运行test01 如果想运行test2,鼠标放到test2区域右键,就会显示:Run 'Unittest test02' <br /> ## 二、unittest运行整个脚本用例 1. 如果想当前的脚本上所有的用例一起执行,只需把鼠标放到if __name__ == "__main__":这句话的后面或者下方就行了 ![](https://img.kancloud.cn/6f/d9/6fd91a964c93f4e15bbdf9e7f8d8456b_883x444.png) 2. 上图显示的是Run Unittest in test1 运行的是整个脚本 <br /> ## 三、python直接运行模式 1. 以上方式只能执行单元测试框架里面的内容,是没有测试报告的输出的,如果想输出测试报告,就得以非unittest模式运行,也就是用python直接运行 2. 点右上角,点开:Edit Configurations ![](https://img.kancloud.cn/b9/83/b983bbf988d744b40e2a658d7e14ef6d_805x367.png) 3. 展开Python 和 Python tests这两个选项,会发现刚才运行的脚本名称在Python tests这个选项下,也就是pycharm这个工具自动默认为unittest姿势运行了。 ![](https://img.kancloud.cn/51/d4/51d460ccd8451a5983853ceae7e5bb79_799x507.png) 4. 解决办法,只需从这里移除掉就行,选中这个脚本,点左上角的减号:一 ![](https://img.kancloud.cn/34/39/34399b3dd0150f05f2448647e9fa3bea_800x508.png) 5. 全部移除后,点Apply应用,然后点OK保存 ![](https://img.kancloud.cn/5a/a9/5aa92abebe13d11e9f085db2ebf911b0_801x467.png) 6. 再回到脚本界面,右键运行,就能出测试报告了 (敲黑板了!!!鼠标一定要放在if这一行后边右键,才能看到正常显示Run ‘’test1‘’) ![](https://img.kancloud.cn/c2/98/c29803459a982fc1d6ef3ff643c527f4_800x371.png)