12
Pythonベースのユニットテスト "ノーズ"のようなフレームワークには豊富な機能がたくさんあります。Pythonベースのユニットテストフレームワークとランナーを使用してCコードをテストすることは可能ですか?
Pythonベースのユニットテスト "ノーズ"のようなフレームワークには豊富な機能がたくさんあります。Pythonベースのユニットテストフレームワークとランナーを使用してCコードをテストすることは可能ですか?
もちろんですが、PythonでCコードを呼び出して(例えばctypes)バインディングを書いてPythonでテストを書く必要があります(これは本当に簡単で簡単な方法です)スマートテストを行うために
例:
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
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コードの素敵なテスト:)
を持っている必要があり、あなたは手の込んだか私に例をあげてもらえこれがどれくらい複雑かという考えを私が得るためには、おかげで – kamal
@kamal:例が完了;) –
本当にありがとう! – kamal