2016-02-25 100 views
0

我是单元测试新手。但是,我需要对下面的函数进行测试。我已经做了一些阅读,但不能从阅读中得到很多。这是我能够一起来的,但我当然知道还有更多事情要做。有人能告诉我接下来需要做什么吗?单元测试功能

def apply_filter(x): 
    filterer = { 
     1: 'ether proto 0x88B8', 
     2: 'tcp port 102', 
     3: 'ether proto 0x88BA' 
    } 
    return filterer.get(x, '') 



import unittest 

from new_format import apply_filter 


class test_apply_filter(unittest.TestCase): 

    def setUp(self): 
     pass 
    def tearDown(self): 
     pass 

    def test_filter_by_name(self): 
     self.assertEqual(apply_filter(1),"ether proto 0x88B8") 
     self.assertEqual(apply_filter(2),"tcp port 102") 
     self.assertEqual(apply_filter(3),"ether proto 0x88BA") 

if __name__ == '__main__': 
    unittest.main() 
+3

这是一个很好的开始..运行一下,看看..下一步是加边缘的情况下 - 比如'apply_filter(无)','apply_filter(4 )',... – karthikr

回答

0

编写单元测试的一个好方法是编写代码之前,那么你写的代码,使测试变成绿色,然后你清理你的代码编写测试。这就是TDD,测试驱动开发。

您可以了解更多关于TDD这里:wikipedia

+0

好吧,我会检查你知道任何书籍或网站好读@MaximeTurcotte – Clivus

+0

是的,你可以阅读罗伯特C.马丁清洁代码。在编写高质量的代码时,这个人对于很多人来说是一位大师。它会告诉你关于TDD的单元测试以及如何编写干净的代码。 –

+0

好的,YouTube上有很好的视频@MaximeTurcotte – Clivus