Qt Unit Test with Visual Studio

基於現成的 Visual Studio 套件 Google Test Adapter,直接借用 Google Test 來進行 Qt Unit Test。

有機會再來整合 Qt 自己的 Qt Test

Example Code

建立 VS Google Test 專案

建立後會有一個一定會通過的 Unit Test

TEST(TestCaseName, TestName) {
  EXPECT_EQ(1, 1);
  EXPECT_TRUE(true);
}

Run Test

編寫 Unit Test

修改 Unit Test 如下

TEST(TestLogic, HelloMessage)
{
	Logic logic;

	std::string name = logic.getHelloMessage("Jian-Ching").toStdString();
	EXPECT_EQ("Hello Jian-Ching", name);
}

新增 Logic Class 及 getHelloMessage 函式

QString Logic::getHelloMessage(QString name)
{
	return "";
}

Run Test, 我們會得到一個紅燈

實作 Qt 程式碼

實作 getHelloMessage 函式

QString Logic::getHelloMessage(QString name)
{
	return QString("Hello ").append(name);
}

Run Test, 成功通過測試

其它

如果你的 Goolge Test Apapter 發生錯誤,可以確認一下是否是遇到這個問題,如果問題還未修復,可以先將 Visual Studio 切換為英文語系即可正常使用。

Google test adapter does not work when the UI of Visual Studio is non english · Issue #121 · Microsoft/TestAdapterForGoogleTest

留言