测试框架
测试框架(Test Framework)
对于Linux测试环境,我们选择python为主要开发语言。Test Framework(测试框架)选取标准的python unit框架。
Python Unit框架
python unit,是标准的python单元测试框架,使用这个框架的有openstack中的tempest。它的官方wiki链接为:https://wiki.python.org/moin/PythonTestingToolsTaxonomy
此处对python unit做一个简单介绍:
- 测试集合(test class),一组功能相似的用例的集合。一个或者多个用例包含于同一个python class下
- 测试脚手架(test fixture),测试准备前要做的工作和测试执行完后要做的工作。
setUpClass()和tearDownClass(),整个class的所有case执行之前和之后,统一只做一次的步骤。 setUp()和tearDown(),每一个case运行之前和之后都会执行的步骤。视逻辑需要,可以与setUpClass共存。
- 测试用例(test case),最小的测试单元。以def test_xxxxxx的形式定义在class下面的方法,即为一个case。
- 测试修饰符(test filter),根据用例的属性设定的python修饰符。
属性修饰:在每条case上面加上 @tag(PRIORITY="P0"),表示此case是P0级别的case,可以使用runner对这个tag进行过滤执行 SKIP修饰:直接忽略@unittest.skip("demonstrating skipping"),或者带条件的忽略@unittest.skipIf(mylib.__version__ < 3, "not supported in this library version")
- 测试运行器(test runner),运行测试用例的组件或者工具。采用nosetests
运行整个目录下的用例:nosetests -v test/performance/ 单独运行一个用例:nosetests -v test/performance/test_vm_fio.p:VMFioTest.test_vm_fio_randread_4K (<文件名>:<类名>.<方法名>) 输出内容定向至xml文件中:nosetests -v test/performance/ --with-xunit --xunit-file=<最终的xml文件名>.xml --xunit-testsuite-name=<每个xml文件中唯一的testsuite名字> (注:nosetests导出的xml文件,可以直接被Jenkins工具解析)
posted on 2018-07-26 17:24 weijiangping 阅读(342) 评论(0) 编辑 收藏 举报