在VS2013中,可以使用VS自帶的C++單元測試框架。
在使用該框架前,需要先安裝Unit Test Generator(可以通過菜單“工具->擴展和更新”搜索安裝)。
下邊,就闡述一下利用該框架的步驟:
1. 新建空的Win32控制台項目NativeUnitTest
將該工程的"配置類型"改為“動態庫(dll)”,如下圖:
2. 新建單元測試工程
在解決方案NativeUnitTest下新建單元測試工程,“Visual C++ -> 測試 -> 本機單元測試項目”,如下圖所示:
3. 生成NativeUnitTest項目
這樣做的目的在於生成.obj文件(在NativeUnitTest/Debug/中),以便於單元測試項目添加。
4. 修改單元測試項目屬性
詳細如下圖所示:
5. 編寫單元測試文件
NativeUnitTest項目的頭文件和源文件如下:

1 class TrivialCalculator 2 { 3 public: 4 double Add(double x, double y); 5 double Subtract(double x, double y); 6 double Multiply(double x, double y); 7 double Divide(double x, double y); 8 };

1 #include "TrivialCalculator.h" 2 3 double TrivialCalculator::Add(double x, double y) 4 { 5 return x + y; 6 } 7 8 double TrivialCalculator::Subtract(double x, double y) 9 { 10 return x - y; 11 } 12 13 double TrivialCalculator::Multiply(double x, double y) 14 { 15 return x * y; 16 } 17 18 double TrivialCalculator::Divide(double x, double y) 19 { 20 return x / y; 21 }
單元測試文件如下:
1 #include "stdafx.h" 2 #include "CppUnitTest.h" 3 #include "..\NativeUnitTest\TrivialCalculator.h" 4 5 using namespace Microsoft::VisualStudio::CppUnitTestFramework; 6 using namespace std; 7 8 namespace NativeUnitTest_Namespace 9 { 10 TEST_CLASS(TrivialCalculatorTest) 11 { 12 public: 13 TrivialCalculatorTest() 14 { 15 test = new TrivialCalculator; 16 } 17 18 ~TrivialCalculatorTest() 19 { 20 delete test; 21 } 22 23 TEST_METHOD(AddTest) 24 { 25 //TrivialCalculator test; 26 double actual = test->Add(1.0, 2.0); 27 double expected = 3.0; 28 29 Assert::AreEqual(expected, actual, 0.0001); 30 } 31 32 TEST_METHOD(SubtractTest) 33 { 34 //TrivialCalculator test; 35 double actual = test->Subtract(2.0, 1.0); 36 double expected = 1.0; 37 38 Assert::AreEqual(expected, actual, 0.0001); 39 } 40 41 42 public: 43 TrivialCalculator * test; 44 45 }; 46 47 }
具體步驟到此結束!
項目文件可以從百度雲下載。
參考資料:
使用 Microsoft.VisualStudio.TestTools.CppUnitTestFramework
(英文版Using Microsoft.VisualStudio.TestTools.CppUnitTestFramework)
Writing Native C++ Unit Tests with VS Test
Unit testing native code with Test Explorer