2009-09-08 53 views
2

我們有一個龐大的代碼庫,包含大約1000k行本機/非託管遺留C++代碼,我們將爲代碼提供單元測試,MSTest將完全適合我們當前的開發環境(TFS,VS 2010,...)。我知道MSTest原本是爲了測試託管代碼,但它也可能爲非託管sc編寫單元測試。對於大型遺留代碼庫MSTest

對於非託管代碼,MSTest的使用有任何(後期)缺陷嗎?有沒有人有這方面的經驗?

第二種意見是使用Google.Test,但我必須編寫一個Visual Studio插件來將gtest框架集成到我們的環境中。

在此先感謝!

+0

畢竟我們決定放棄MSTest,現在我們使用GoogleTest作爲單元測試框架。原因是需要花費太多時間和精力才能在/ CLR下編譯我們的代碼庫:pure – lakai 2009-09-18 08:46:09

回答

2

我不會推薦MSTest進行託管測試。請參閱here瞭解我的經驗。但是,如果你堅持我會說一個很好的方法來測試你的遺留代碼將使用PInvoke interop到您的c + +代碼。

+0

您對Visual Studio如何增強測試非託管代碼的過程有任何經驗嗎?我在博客中讀過一次,應該用新的VS版本 – lakai 2009-09-08 09:04:12

+0

來改進。不,我不後悔。 – 2009-09-08 09:06:22

0

我使用Boost.Test框架在Visual Studio中測試我的C++代碼時沒有任何問題。您需要創建一個包含您的主項目可以依賴的測試的測試項目(控制檯模式EXE)。使用Visual Studio'post build'步驟,您可以自動運行測試。

+0

感謝您的評論。測試自動化只是我們「必須具備的」之一,而且測試框架應該直接集成到VS中,例如,用戶應該能夠選擇他/她想要運行的測試,或者應該提供有用的信息,如代碼覆蓋等。 – lakai 2009-09-08 10:56:34

1

反正我會推薦googletest我認爲他們也會很樂意接受你的VS集成,並將它包含在下一個版本中,前提是該補丁具有合理的質量。

哦,你可以使用另一個偉大的Google項目,然後gmock