2011-10-04 49 views

回答

14

當然,你可以......但你必須編寫一個綁定來調用你的Python代碼(例如ctypes),然後用python編寫測試(這是一個非常簡單的方法做智能測試)

例子:

  • 寫虛擬的C庫。

foolib.c

int my_sum(int , int); 

int my_sum(int a , int b); 
{ 
    return a + b; 
} 
  • 編譯它作爲一個共享庫:

gcc -shared -Wl,-soname,foolib -o foolib.so -fPIC foolib.c

  • 收件與ctypes的包裝:

foolib_test.py

import ctypes 
import unittest 

class FooLibTestCase(unittest.TestCase): 
    def setUp(self): 
     self.foolib = ctypes.CDLL('/full/path/to/foolib.so') 

    def test_01a(self): 
     """ Test in an easy way""" 
     self.failUnlessEqual(4, foolib.my_sum(2, 2)) 

,然後用鼻子運行這個測試時,你應該有你的C代碼:)

+0

能否請您詳細闡述或者給我一個例子一個很好的測試,讓我瞭解這將是多麼複雜。謝謝 – kamal

+0

@kamal:完成示例;) –

+0

感謝它真的有效! – kamal

相關問題