概述
1.测试脚手架(test fixture)
测试准备前要做的工作和测试执行完后要做的工作.包括setUp()和tearDown().
2.测试案例(test case)
最小的测试单元.
3.测试套件(test suite)
测试案例的集合.
4.测试运行器(test runner)
测试执行的组件.
命令行接口
可以用命令行运行测试模块,测试类以及测试方法.
python -m unittest test_module1 test_module2
python -m unittest test_module.TestClass
python -m unittest test_module.TestClass.test_method
可加-v打印详细信息
python -m unittest -v test_module
测试案例自动搜索
unittest支持简单的test discovery. 命令行传入discovery后,框架会自动在当前目录搜索要测试的案例并执行.搜索目录必须是包或者模块.基本使用如下:
cd project_directory
python -m unittest discover
子选项如下:
-v, –verbose
输出信息的详细级别
-s, –start-directory directory
开始搜索目录 (默认为当前目录)
-p, –pattern pattern
匹配的文件名 (默认为test*.py)
-t, –top-level-directory directory
搜索的顶层目录 (默认为start directory)
创建测试代码
1.方式一
创建子类继承unittest.TestCase,然后重写以下方法
class WidgetTestCase(unittest.TestCase):
def setUp(self):
pass
def runTest(self):
pass
def tearDown(self):
pass
运行
2.方式二
编写以test开头的方法
class WidgetTestCase(unittest.TestCase):
def setUp(self):
pass
def test_xx1(self)
def test_xx2(self)
...
def test_xxN(self)
def tearDown(self):
pass
构建测试套件
方式一
widgetTestSuite = unittest.TestSuite()
widgetTestSuite.addTest(WidgetTestCase('test_default_size'))
widgetTestSuite.addTest(WidgetTestCase('test_resize'))
方式二(推荐)
def suite():
suite = unittest.TestSuite()
suite.addTest(WidgetTestCase('test_default_size'))
suite.addTest(WidgetTestCase('test_resize'))
return suite
方式三(推荐)
def suite():
tests = ['test_default_size', 'test_resize']
return unittest.TestSuite(map(WidgetTestCase, tests))
方式四
多个测试套件构建成更大的测试套件
suite1 = module1.TheTestSuite()
suite2 = module2.TheTestSuite()
alltests = unittest.TestSuite([suite1, suite2])
方式五
unittest的TestLoader提供生成默认的测试套件
suite = unittest.TestLoader().loadTestsFromTestCase(WidgetTestCase)
忽略测试案例( Python2.7支持)
可以分无条件忽略和有条件忽略,通过装饰器实现
class MyTestCase(unittest.TestCase):
@unittest.skip("demonstrating skipping")
def test_nothing(self):
self.fail("shouldn't happen")
@unittest.skipIf(mylib.__version__ < (1, 3),
"not supported in this library version")
def test_format(self):
pass
@unittest.skipUnless(sys.platform.startswith("win"), "requires Windows")
def test_windows_support(self):
pass
测试类也可以忽略
@unittest.skip("showing class skipping")
class MySkippedTestCase(unittest.TestCase):
def test_not_run(self):
pass
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
版权声明:本文为博主原创文章,未经博主允许不得转载。
分享到:
相关推荐
Python的单元测试框架unittest提供了一种系统的方式来编写测试用例和测试套件。 unittest框架是Python标准库的一部分,遵循xUnit测试框架的设计思想,xUnit是一系列功能相似的单元测试框架的总称,这些框架被用于...
3. **Unittest**: Unittest是Python内置的单元测试框架,用于编写和组织测试用例。它可以执行单个测试,也可以按组批量执行。Unittest提供了断言方法(如assertEqual、assertTrue等)来验证预期的结果,还有setUp和...
Python的unittest是一个强大的单元测试框架,它为开发者提供了丰富的功能来编写、组织和运行测试用例。本篇文章将深入探讨unittest的基本概念、使用方法及如何构建测试代码。 首先,了解unittest的基本组成部分: ...
unittest是Python内置的一个单元测试框架,它提供了编写测试用例、组织测试套件和运行测试的基本结构。 unittest框架允许我们定义测试类和测试方法,每个方法以`test_`开头,代表一个测试用例。我们可以为每个接口...
总结起来,Python的`unittest`框架提供了一套完整的单元测试解决方案,包括创建测试用例、组合测试用例、运行测试和管理测试环境。在实际项目中,熟练掌握单元测试和`unittest`框架的使用,有助于提高代码质量,减少...
Python提供了一个内置的测试框架unittest,它受到Java的JUnit的启发,能够帮助开发者进行自动化测试。本文将详细介绍如何在Python中使用unittest框架进行测试,包括测试用例的编写、测试套件的组织、断言的使用以及...
总的来说,单元测试框架unittest为Python的自动化测试提供了强大的支持,它使得测试过程结构化、易于管理和扩展。掌握unittest框架对于Python开发者和测试工程师来说是一个基本且重要的技能。通过合理运用unittest...
在本篇中,我们将详细探讨PHP的单元测试以及`unittest`框架。 首先,让我们理解一下单元测试的概念。单元测试是对软件中的最小可测试单元进行检查和验证,如函数、方法或类。它的目标是确保每个独立的部分都能正确...
1、使用HTMLTestRunner生成测试报告; 2、添加测试套件,运行一个文件执行所有测试用例; 3、只在测试执行前打开浏览器,所有用例执行结束后关闭浏览器。(解决反复启动/关闭driver导致的执行效率问题) 这个源码...
unittest是Python内置的一个测试框架,它提供了丰富的工具和类来编写和运行单元测试。 unittest框架的主要组件包括: 1. `TestCase`: 这是所有测试用例的基础类,你可以创建子类并定义方法来测试你的代码。每个...
Python的unittest库是用于编写单元测试的标准库,而将其应用到接口测试上则可以构建一个高效的自动化测试框架。以下将详细介绍如何利用unittest实现Python接口自动化测试框架,并讨论相关的知识点。 首先,unittest...
unittest是Python内置的一个轻量级的单元测试框架,用于编写和运行可重复的自动化测试。在接口自动化测试中,unittest可以创建测试用例(TestCase)来组织和执行一系列测试方法。每个测试方法都应以`test_`开头,...
unittest 是 Python 内置的一个单元测试框架,用于编写和执行自动化测试用例,确保代码的质量和功能稳定性。 在接口测试中,我们通常需要模拟HTTP请求来验证服务器端接口的功能。Python 的 requests 库提供了简单...