2011-10-04 9 views

答えて

14

もちろんですが、PythonでCコードを呼び出して(例えばctypes)バインディングを書いてPythonでテストを書く必要があります(これは本当に簡単で簡単な方法です)スマートテストを行うために

例:

  • は、ダミーのCライブラリを書きます。

foolib.c

int my_sum(int , int); 

int my_sum(int a , int b); 
{ 
    return a + b; 
} 
  • 共有ライブラリとして、それをコンパイルします。ctypesの持つラッパーを書く

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

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

関連する問題