我是一名專業的網頁開發人員,因此我習慣於使用非常高級的腳本語言和測試工具。我個人最近一直在與C一起工作,併爲基於Unix的系統編寫許多C程序來完成各種任務。然而,我仍然沒有進入單元測試這個代碼的良好溝槽,我想知道C程序員使用什麼工具來創建自動化測試來驗證代碼。你用什麼來單元測試C代碼?
6
A
回答
1
您是嚴格測試C代碼,還是可以混入一些C++?如果C++沒問題,cppunit可能值得檢查。如果你正在測試一個庫,你可以簡單地將你的庫鏈接到你的單元測試應用程序。如果您正在測試應用程序,則可能必須創建一個庫,然後將其鏈接到您的應用程序和單元測試應用程序。
1
我有這個問題一次,發現CUnit。我只用它來做一個小項目,但看起來沒問題。幾乎不像我習慣的JUnit或NUnit一樣方便!對於C++項目,我使用cppunit,它工作得很好。
1
CUtest。它非常整齊。小,不依賴於生成器語言,快...不喜歡什麼?
0
如果你只想要一個quick'n'dirty測試機制,看看ANSI C的
1
1
我作爲開發工作,我喜歡使用CMocka工具爲C語言提供了單元測試。 它是基於GTest的簡單工具(主要是C++單元測試),它非常容易理解。 前段時間我做了最好的和最簡單的測試工具的研究,並決定這一點。
經過一段時間的工作,我非常有信心。使用預處理指令
#define MyFunction(iEntry) mock_MyFunction(iEntry)
你也可以切斷要模擬的任何功能(甚至基本的Windows功能與sizeof(),malloc()和等)。
完成這一步之後,您只需創建您的模擬函數(mock_MyFunction(iEntry)),將它們包含到您的項目中並模擬它們的行爲。首選的方法是在調用它們應返回之前設置它們的一些值(will_return_always(mock_MyFunction,5))。並且,當調用此函數時,它將始終返回值5.
此外,您完全可以避免使用C++語言並繼續使用純C語言。 不知道CMocka的簡單索引網站。你必須深入該網站和工具API找到你需要的.. :) 還檢查this爲使用CMocka的小教程...
我希望這可以幫助,有一個愉快的一天..:-)
相關問題
- 1. 你用什麼來測試你的C++代碼?
- 2. 你用單元測試測試什麼?
- 3. javascript單元測試:你如何跟蹤你寫的所有測試和你有什麼代碼覆蓋?
- 4. C#單元測試代碼問題
- 5. 單元測試舊版C#代碼
- 6. 單元測試C生成python代碼
- 7. 單元測試程序C代碼
- 8. C#單元測試不進入代碼
- 9. 單元測試ASP.NET代碼
- 10. 單元測試代碼。ContinueWith(
- 11. 你會用什麼樣的測試來測試這
- 12. 你可以用這些代碼做什麼樣的JUnit測試?
- 13. 你怎麼能單元測試DelegateCommand
- 14. 你用什麼.NET語言編寫單元測試?
- 15. 你用什麼工具來調試的Android NDK的代碼?
- 16. 使用依賴注入系統你如何單元測試你的代碼
- 17. 單元測試遺留代碼 - 重構什麼來適應Rhino Mocks上下文?
- 18. 單元測試專用代碼
- 19. 使用Modernizr的單元測試代碼
- 20. 如何用cin單元測試代碼?
- 21. 單元測試/集成測試GXT代碼的最佳方法是什麼?
- 22. 你用什麼來測試你的瀏覽器擴展/ BHO?
- 23. 你用什麼(免費)來格式化C#代碼?
- 24. 你如何構建交叉編譯代碼的單元測試?
- 25. 你對非生產代碼進行單元測試嗎?
- 26. 單元測試中的單步測試和調試代碼
- 27. 單元測試 - 不可測試代碼轉換爲可測試代碼
- 28. 如何使用asp.net mvc和單元測試來組織代碼和測試
- 29. 單元測試併發軟件 - 你做什麼?
- 30. 爲什麼你需要單元測試基本的SQL功能?
另請參閱此問題:http://stackoverflow.com/questions/65820/unit-testing-c-code。 – MattK 2009-01-29 22:27:09
這是我一直在尋找的問題,但搜索並沒有真正找到它。謝謝! – Mitchell 2009-01-29 22:40:55