Pyunit源码笔记之十一 pyunit运行方式之二:testsuit方式
2017-06-06 11:05
411 查看
这种方法,先要组建testsuit,实例化testsuit,加入testcase,或者包含其他的testsuit
针对下面的用例:
class MyTest(unittest.TestCase):
def setUp(self):
print("Set up...")
self.myclassa = MyClassA.MyClassA()
def testsum(self, a = 4, b = 5):
self.assertEqual(self.myclassa.addMy(a, b), a * b)
def testmul(self, a = 4, b = 5):
self.assertEqual(self.myclassa.mulMy(a, b), a * b)
def tearDown(self):
print("Tear down...")
pass
先看testsuit的初始化和加入test:
def __init__(self, tests=()):
self._tests = []
self._removed_tests = 0
self.addTests(tests)
可以实例化后,再加testcase,最后run:
ts = unittest.TestSuite()
ts.addTest(MyTest("testsum"))
ts.addTest(MyTest("testmul"))
其他相似的组建testsuit方式:
def suite():
suite = unittest.TestSuite()
suite.addTest(MyTest("testsum"))
suite.addTest(MyTest("testmul"))
return suite
利用unittest的TestLoader生成默认的testsuit
ts = unittest.TestLoader().loadTestsFromTestCase(MyTest)多个testsuit组成更大的testsuit:
ts1 = unittest.TestSuite([MyTest("testsum"),])
ts2 = unittest.TestSuite([MyTest("testmul"),])
ts = unittest.TestSuite([ts1, ts2])
最后run:
runner = unittest.TextTestRunner()
runner.run(ts)
针对下面的用例:
class MyTest(unittest.TestCase):
def setUp(self):
print("Set up...")
self.myclassa = MyClassA.MyClassA()
def testsum(self, a = 4, b = 5):
self.assertEqual(self.myclassa.addMy(a, b), a * b)
def testmul(self, a = 4, b = 5):
self.assertEqual(self.myclassa.mulMy(a, b), a * b)
def tearDown(self):
print("Tear down...")
pass
先看testsuit的初始化和加入test:
def __init__(self, tests=()):
self._tests = []
self._removed_tests = 0
self.addTests(tests)
def addTest(self, test): # sanity checks if not callable(test): raise TypeError("{} is not callable".format(repr(test))) if isinstance(test, type) and issubclass(test, (case.TestCase, TestSuite)): raise TypeError("TestCases and TestSuites must be instantiated " "before passing them to addTest()") self._tests.append(test)
可以实例化后,再加testcase,最后run:
ts = unittest.TestSuite()
ts.addTest(MyTest("testsum"))
ts.addTest(MyTest("testmul"))
其他相似的组建testsuit方式:
def suite():
suite = unittest.TestSuite()
suite.addTest(MyTest("testsum"))
suite.addTest(MyTest("testmul"))
return suite
def suite(): tests = ['testsum', 'testmul'] return unittest.TestSuite(map(MyTest, tests))
利用unittest的TestLoader生成默认的testsuit
ts = unittest.TestLoader().loadTestsFromTestCase(MyTest)多个testsuit组成更大的testsuit:
ts1 = unittest.TestSuite([MyTest("testsum"),])
ts2 = unittest.TestSuite([MyTest("testmul"),])
ts = unittest.TestSuite([ts1, ts2])
最后run:
runner = unittest.TextTestRunner()
runner.run(ts)
相关文章推荐
- Pyunit源码笔记之五 开始执行testsuit的run及迭代
- Pyunit源码笔记之十 pyunit运行方式之一:直接调用
- Pyunit源码笔记之十一 testCase run之后的 各种result
- Hadoop源码分析笔记(十一):数据节点--数据节点整体运行
- Pyunit源码笔记之二 主函数import,初始化loader和流程概览
- Pyunit源码笔记之六 testcase run的执行前奏
- ((ios开发学习笔记 十一))自定义TableViewCell 的方式实现自定义TableView(带源码)
- .Net开发笔记(十一) 设计时(Design-Time)和运行时(Run-Time)的区别
- nginx 源码学习笔记(十一)——基本容器——ngx_list
- CentOS5下mysql源码安装方式——笔记
- 复习笔记之二--用户方式线程同步
- mybatis_test (简单案例,不解释,提供源码下载运行)
- 【转】ASP.NET MVC学习笔记-MVC运行机制之源码剖析
- linux网络编程十一:将程序后台化,以守护进程的方式运行
- OpenJDK源码研究笔记(十一):浅析Javac编译过程中的抽象语法树(IfElse,While,Switch等语句的抽象和封装)
- OpenJDK源码研究笔记(十一):浅析Javac编译过程中的抽象语法树(IfElse,While,Switch等语句的抽象和封装)
- junit学习笔记(二):hamcrest和TestSuit
- nginx 源码学习笔记(十一)——基本容器——ngx_list
- ASP.NET MVC学习笔记-MVC运行机制之源码剖析
- Android2.1消息应用(Messaging)源码学习笔记之二