[英]Easiest way of unit testing C code with Python
我有一堆 C 代碼,我想使用 Python 的 unittest 庫(在 Windows 中)進行單元測試,但我正在嘗試找出連接 C 代碼的最佳方法,以便 Python 可以執行它(並且取回結果)。 有沒有人有最簡單的方法的經驗?
一些想法包括:
有這樣做的規范方法嗎? 我會用不同的 C 模塊做很多這樣的事情,所以我想找到一種最省力的方法。
我認為確切的解決方案取決於您的代碼。 並非所有庫都適合包裝為 DLL。 如果您是,那么ctypes
肯定是最簡單的方法 - 只需從您的庫中制作一個 DLL,然后使用ctypes
對其進行測試。 一個額外的好處是您現在可以方便地將您的庫包裝為一個獨立的 DLL,這有助於解耦您的應用程序。
但是,有時需要在 C 代碼和測試 Python 代碼之間進行更徹底的交互。 然后,最好將它作為一個擴展來掛鈎,對於這個來說 SWIG 是一個非常好的工具,它可以自動消除你會發現對這個過程感到無聊的大部分事情。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.