#ifdef UNIT_TEST单元测试宏开关

本文提供了一个使用C++编写的简单单元测试示例代码,包括加法和减法两个基本函数及其对应的测试用例。通过预处理指令实现了正常运行程序与运行单元测试之间的切换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前看到有别人用过,终于在网上找到说明了。

APPENDIX
Sample C/C++ test driver

/* File Name : UnitTestExample.c */

#include < stdio.h >

int addTo( int preValue, operator )
{
    int postValue = preValue + operator;
    return postValue;
}

int subtractFrom( int preValue, operator )
{
    int postValue = preValue - operator;
    return postValue;
}

/* Compile with -D switch to run unit tests.
 *      Example : gcc -D UNIT_TEST -o example UnitTestExample.c
 */

#ifdef UNIT_TEST
int main()

    preValue = 0;
    operator = 5;
    int returnValue;

    /* Test 01 - Test function addTo() */
    returnValue = addTo( preValue, operator );
    if( (returnValue - operator) == 0 )
        printf( "Test 01 passed./n" );
    else
        printf( "Test 01 failed./n" );

    /* Test 02 - Test function subtractFrom() */
    returnValue = subtractFrom( preValue, operator );
    if( (returnValue + operator) == 0 )
        printf( "Test 02 passed./n" );
    else
        printf( "Test 02 failed./n" );
    return 0;
}

/* Compile without -D switch to run main program.
 *      Example : gcc -o example UnitTestExample.c
 */

#else
int main()
{
    int accumulation = 0;
    int preValue = 0;
    int operator = 25;
    int postValue, i;
    for( i = 0; i < 10; i++ )     
        accumulation += addTo( preValue, operator );
    postValue = subtractFrom( accumulation, operator );
    printf( "%s%d/n", "postValue = ", postValue );
    return 0;
}
#endif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值