簡體   English   中英

使用 Visual Studio 2020 在 C++ 中通過 google 測試設置/配置單元測試

[英]Setup/Configuring unit-testing with google test in C++ using Visual Studio 2020

如果您無法編譯解決方案,例如收到未解決的外部錯誤,請查看答案部分並重新創建那里列出的步驟。

我們的示例 header:

#pragma once
#include <string>

std::string testfunc();

我們的示例源文件:

#include "to_test.h"
    
std::string testfunc()
{
    return "test worked";
}

創建示例項目后,我們想事先檢查列表中的一些內容。

  1. 通過 Visual Studio 安裝程序添加 google 測試適配器(在各個組件下,搜索“google”)
  2. 在我們的解決方案中右鍵單擊我們的測試項目,然后單擊“管理 NuGet 包”,切換到“瀏覽”選項卡並搜索“gtest”並添加它。 它看起來有點像這樣:

在此處輸入圖像描述

  1. 然后我們想在我們的解決方案中添加一個單元測試項目。 我們在解決方案資源管理器中右鍵單擊我們的解決方案,然后選擇添加->新項目。 我們搜索“google”並添加彈出的名為“Google Test”的內容。 首先,我們將所有設置都保留為默認設置,除了我們將從解決方案的父文件夾更改為我們將要測試的項目文件夾的路徑(基本上只有更深的深度)。 我們將打開我們的 test.cpp 並添加它,有點像這樣:(注意:您的自定義 header 的#include 不應該被復制粘貼以確保它在您的情況下是正確的路徑)
#include "pch.h"
#include "../to_test.h"


TEST(test, TestName)
{
    //This Test will work
    EXPECT_TRUE(testfunc() == "test worked");

    //This Test will fail
    EXPECT_TRUE(testfunc() == "test not worked");
}
  1. 現在進行配置:右鍵單擊您的測試項目並打開屬性。
    • 在 VC++ 目錄下,在“包含目錄”下添加 header 文件的位置
    • 在 Linker->General 下,添加要在“附加庫目錄”下測試的項目的調試文件夾
    • 在 Linker->Input 下,將不帶文件類型的頭文件的名稱添加到“附加依賴項”中,在我們的例子中為“to_test”(不帶引號)

然后我們可以右鍵單擊我們的解決方案並重建它。 之后,我們可以通過右鍵單擊選擇我們的 GTest-1 項目作為 Startproject,然后像往常一樣調試它。 彈出的終端應如下所示:

在此處輸入圖像描述

免責聲明:這絕對不是唯一的方法。如果有人願意糾正我,我將不勝感激:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM