2011-10-04 13 views

cevap

14

Elbette yapabilirsin ... ama C kodunuzu python'da (örneğin, ctypes ile) aramak için bir ciltleme yazmanız ve testleri python'a yazmanız gerekir (bu gerçekten mümkün ve kolay bir yoldur)

  • bir kukla C kütüphanesi yazın:

    Örnek) akıllı testlerini yapmak.

foolib.c

int my_sum(int , int); 

int my_sum(int a , int b); 
{ 
    return a + b; 
} 
  • paylaşılan kitaplık olarak derleme: ctypes ile sarmalayıcı yaz

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

  • :
  • burunlu Bu testi çalıştırırken

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)) 

Ve sonra, C kodu :)

+0

sen ayrıntılı veya bana bir örnek verebilir misiniz güzel testi yapılmış olmalıdır Bunun benim için ne kadar karmaşık olabileceğine dair bir fikir edinebilmem için. Teşekkürler – kamal

+0

@kamal: örnek bitti;) –

+0

teşekkürler gerçekten çalışıyor !! – kamal

İlgili konular