【问题标题】:How to run a unit test on an existing project with main function如何在具有主要功能的现有项目上运行单元测试
【发布时间】:2019-08-25 17:49:00
【问题描述】:

我正在尝试将 google-unit-test 添加到我现有的 c++ 项目中

我在我的解决方案中添加了一个 google-unit-test 项目。所以现在在我的解决方案中,我有一个具有主要功能的 google-unit-test 项目:

int main(int argc, char** argv) {
    testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS();
}

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

在我现有的项目中,我也有一个主项目。 构建工作正常:

但是当我执行代码时,只有项目的 main 正在运行,我不知道如何运行测试的 main。我不想每次运行项目时都运行测试,但我根本不知道如何运行测试。

【问题讨论】:

  • 每个可执行文件都有自己的主要功能。您需要运行 test 可执行文件。
  • @StoryTeller 是否有从 Visual Studio 运行可执行文件的选项?如果我运行 exe 文件,它会立即关闭,并且不会在像这样的漂亮 UI 中给我信息:youtu.be/16FI1-d2P4E?t=342

标签: c++ visual-studio unit-testing googletest


【解决方案1】:

您需要运行测试可执行文件。您可以通过在命令提示符中打开可执行文件来运行它。 如果您需要 UI,可以使用名为 ReSharper 的 Visual Studio 扩展。

【讨论】:

    猜你喜欢
    • 2019-01-11
    • 1970-01-01
    • 2012-09-13
    • 2015-01-09
    • 2018-02-17
    • 2011-04-05
    • 2010-09-21
    • 2019-09-04
    相关资源
    最近更新 更多