目录结构如下:
(image_search_engine) ╭─pon@T4GPU ~/code/work/ponponon/image_search_engine ‹master*› ╰─➤ tree testing testing├── __init__.py├── resource│ ├── emoji001.jpg│ ├── emoji002.jpg│ ├── emoji003.jpg│ └── s.jpg├── test_meta.py└── test_sample.py
运行测试命令
╰─➤ python -m unittest testing----------------------------------------------------------------------Ran 0 tests in 0.000sOK
unittest 会读取所有 test 开头的 .py 文件,但是我的两个 test_meta.py 和 test_sample.py 居然没有被读取?
但是写成 python -m unittest testing.test_sample
和 python -m unittest testing.test_meta
是可以的,直接 python -m unittest testing
却不行,为什么?
unit-test-discovery
Note
As a shortcut,
python -m unittest
is the equivalent ofpython -m unittest discover
. If you want to pass arguments to test discovery the discover sub-command must be used explicitly.
看文档,一旦加参数就必须用 python -m unittest discover
的形式才能自动查找测试文件。如果要指定目录的话,可能应该是: python -m unittest discover testing
你的问题似乎在于你试图运行整个目录作为测试套件,但unittest
模块并不会自动查找子目录中的测试用例。
当你运行 python -m unittest testing
时,unittest
模块会在当前目录(在这个例子中,是包含 testing
目录的父目录)中查找名为 unittest.py
或者以 test
开头的文件。然后,它会在这些文件中查找类,这些类要满足以下条件:
unittest.TestCase
的子类。Test
开头。__
开头)。然后,unittest
会运行在这些类中找到的所有测试用例。
在你的例子中,unittest
没有找到任何满足这些条件的类,所以它没有运行任何测试,这就是为什么你看到 Ran 0 tests in 0.000s
。
你需要做什么呢?
unittest.py
或以 test
开头的文件中。unittest.py
或以 test
开头的文件中导入它们。Test
开头,并且不是私有的。例如,你可以在 test_meta.py
和 test_sample.py
中分别有以下内容:
import unittestfrom your_module import YourClass # 从你的应用中导入你需要测试的类class TestYourClass(unittest.TestCase): def test_something(self): # 在这里写你的测试代码 passif __name__ == '__main__': unittest.main()
然后,在 testing
目录的父目录中创建一个 test_all.py
文件,内容如下:
import unittestfrom testing import test_meta, test_sample # 导入你的测试模块if __name__ == '__main__': unittest.main()
然后,运行 python -m unittest test_all
,这应该会运行你的所有测试用例。
本文向大家介绍python的unittest测试类代码实例,包括了python的unittest测试类代码实例的使用技巧和注意事项,需要的朋友参考一下 nittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果。今天笔者就总结下如何使用unittest单元测试框架来进行
问题内容: 我正在通过protobuf协议并使用HTTP Request Sampler测试一个项目。 目标应用服务器也是用Java编写的。 响应错误存在问题: “Could not read Protobuf message: Protocol message contained an invalid tag (zero).; nested exception is com.google.pro
本文向大家介绍python unittest实现api自动化测试,包括了python unittest实现api自动化测试的使用技巧和注意事项,需要的朋友参考一下 项目测试对于一个项目的重要性,大家应该都知道吧,写python的朋友,应该都写过自动化测试脚本。 最近正好负责公司项目中的api测试,下面写了一个简单的例子,对API 测试进行梳理。 首先,编写restful api接口文件 testp
本文向大家介绍python如何使用unittest测试接口,包括了python如何使用unittest测试接口的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了python使用unittest 测试接口的具体代码,供大家参考,具体内容如下 1.首先使用 python 的requests 对接口进行测试 2.使用unittest调用接口,且对接口测试的结果进行统计 3.使用suite对c
本文向大家介绍详解python单元测试框架unittest,包括了详解python单元测试框架unittest的使用技巧和注意事项,需要的朋友参考一下 一:unittest是python自带的一个单元测试框架,类似于java的junit,基本结构是类似的。 基本用法如下: 1.用import unittest导入unittest模块 2.定义一个继承自unittest.TestCase的测试用例类
本文向大家介绍python单元测试unittest实例详解,包括了python单元测试unittest实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python单元测试unittest用法。分享给大家供大家参考。具体分析如下: 单元测试作为任何语言的开发者都应该是必要的,因为时隔数月后再回来调试自己的复杂程序时,其实也是很崩溃的事情。虽然会很快熟悉内容,但是修改和调试将是一件痛苦