gtest入口代码示例

控制台程序集成gtest通用代码

#include "stdafx.h"
#include "gtest/gtest.h"

int mytest(int argc, _TCHAR* argv[])
{
    int nTestReturnValue = 0;

    testing::GTEST_FLAG(output) = _T("xml:gtest_result.xml");
    testing::InitGoogleTest(&argc, argv);

    nTestReturnValue = RUN_ALL_TESTS();

    return nTestReturnValue;
}

int _tmain(int argc, _TCHAR* argv[])
{
    return mytest(argc, argv);
}

MFC程序集成gtest通用代码

  • 调用代码
    CConsole cc;  
    int argc = 0;  
    TCHAR* argv = _T("");  
    CString sOutput;
    sOutput.Format("xml:%sidp_gtest_result.xml",m_sBinPath);
    testing::GTEST_FLAG(output) = sOutput;
    testing::InitGoogleTest(&argc, &argv);  
    RUN_ALL_TESTS();  
    HWND hwnd = GetConsoleWindow();  
    SetWindowPos(hwnd, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);  
    if ( __argc == 1 )
    {
        AfxMessageBox("click to exit!");
    }
    return FALSE;
其中,CConsole的实现
- Console.h
#pragma once
class CConsole
{
public:
    CConsole(void);
    ~CConsole(void);
};
- Console.cpp
#include "StdAfx.h"
#include "Console.h"
#include <conio.h>  
#include <fcntl.h>  
#include <io.h>  

CConsole::CConsole(void)
{
    AllocConsole();  
    int hCrun;      
    hCrun = _open_osfhandle((long)GetStdHandle(STD_OUTPUT_HANDLE), _O_TEXT);  
    FILE* hFile  = _fdopen(hCrun, "w");  

    // use default stream buffer  
    setvbuf(hFile, NULL, _IONBF, 0);  
    *stdout = *hFile;  
}

CConsole::~CConsole(void)
{
    FreeConsole();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值