单体测试一直是我的关注。重新接触IronPython以来也想能够尝试下。不过凭着过去的印象我就认为IronPython自身没有提供单体测试框架。正当我尝试寻找一个合适的Python单体测试框架的时候,我意外发现IronPython自带了一个继承PyUnit的单体测试框架。
使用这个单体测试框架写单体测试很简单:
1 导入unittest
2 创建一个从unittest.TestCase继承的类
3 适用断言方法编写测试方法
好了,有了这些就马上行动吧。虽然测试对象还没有准备,但为了先睹为快,我们可以使用微软提供的Dictionary。
import unittest
from System.Collections.Generic import Dictionary
from System.Collections.Generic import Dictionary
class DictionaryTests(unittest.TestCase):
def setUp(self):
self.dict = Dictionary[str, int]()
pass
def tearDown(self):
pass
def testInitialized(self):
self.assertEqual(0, len(self.dict))
def testAdd(self):
self.dict.Add("lin", 100)
self.assertEqual(1, len(self.dict))
self.assertEqual(100, self.dict["lin"])
def testClear(self):
self.dict.Add("lin", 100)
self.dict.Clear()
self.assertEqual(0, len(self.dict))
def testTryGetValue(self):
result, value = self.dict.TryGetValue("lin")
self.assertFalse(result)
self.assertEqual(0, value)
self.dict.Add("lin", 100)
result, value = self.dict.TryGetValue("lin")
self.assertTrue(result)
self.assertEqual(100, value)
if __name__ == '__main__':
unittest.main()
毕竟是xUnit的一种实现,感觉和CppUnit、NUnit和JUnit等其他单体测试框架很相似,因此也很容易入门。但利用好还是很有效果!
转载于:https://blog.51cto.com/bj007/338223