首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Google Test测试C函数

使用Google Test测试C函数
EN

Stack Overflow用户
提问于 2019-07-10 15:41:13
回答 1查看 73关注 0票数 0

我正在尝试使用Google Test来测试一些C代码,但我正在苦苦挣扎。我真的不知道如何测试代码。我试过一些东西,但我不知道它是不是可以。有没有人能给我解释一下我做了什么以及如何测试开关部分?

这是我写的测试:

代码语言:javascript
复制
    TEST_F(MPS_Tests, Wai_for_discharging_of_several_rails) {


        MPS__tenPowerUpTrigger enTrigger = MPS__enGetPowerUpTrigger();
        EXPECT_EQ(enPowerUpTriggerFstp, enTrigger);
        MPS__vOnEnterStateAcPu1();
        EXPECT_EQ(MPS__enGetInternalState(enAC), enStateAcPu1);
        EXPECT_EQ(MPS__u16GetSmEvent(enAC), enStateAcPu1);

下面是经过测试的代码:

代码语言:javascript
复制
MPS__tenPowerUpTrigger MPS__enGetPowerUpTrigger(void)
{
    /* TODO: rework after startup trigger is considerd by design */
    return enPowerUpTriggerFstp;
}

/* Wait for discharging of several rails */
void MPS__vOnEnterStateAcPu1(void)
{
    MPS__tenPowerUpTrigger enTrigger = MPS__enGetPowerUpTrigger();
    MPS__vSetInternalState(enAC, enStateAcPu1);

    switch (enTrigger)
    {
    case enPowerUpTriggerFstp:
        MPS__vSetWait(enAC, u16Time_AC1ASU_t4);
        break;
    case enPowerUpTriggerWakeUp:
        MPS__vSetWait(enAC, MPS_TIMER_NOWAIT);
        break;
    case enPowerUpTriggerReset:
        MPS__vSetWait(enAC, u16Time_AC1CSU_t2);
        break;
    default:
        /* error handling */
        break;
    }
}

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2019-07-10 18:21:00

要涵盖switch中的所有选项,最简单的方法是将MPS__enGetPowerUpTrigger更改为以下内容:

代码语言:javascript
复制
MPS__tenPowerUpTrigger MPS__enGetPowerUpTrigger(void)
{
    const MPS__tenPowerUpTrigger return_values[3] = { 
      enPowerUpTriggerFstp,
      enPowerUpTriggerWakeUp,
      enPowerUpTriggerReset
    };
    static int idx = 0;

    MPS__tenPowerUpTrigger return_value = return_values[idx];
    idx += 1;
    if (idx >= 3) idx = 0;
    return return_value;
}

..。然后调用MPS__vOnEnterStateAcPu1 3次?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56965708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档