gpt4 book ai didi

c - 退出测试的测试条件

转载 作者:太空宇宙 更新时间:2023-11-03 23:23:47 25 4
gpt4 key购买 nike

我必须测试几个例程/函数,这些例程/函数有几个 if 语句,这些语句导致终止测试执行的 terminate() 或 exit() 语句。

我想知道测试此类功能的最佳/正确方法是什么?

例如,如果我有如下内容:

void function foo(void) 
{
if(conditionA)
{
Terminate( //include infinite while loop resulting in timeout);
}
if(conditionB)
{
Terminate( //includes infinite white loop resulting in timeout);
}
}

当我有一个条件 A 为真的测试用例时,我如何命中条件 B?

我想我必须为条件 B 为真(条件 A 为假)创建一个单独的测试用例。但是,测试仍然执行条件 A,因为我运行了两个测试用例。测试用例 #1,将进入条件 A 并退出测试。 Withby 测试用例 #2,由于测试用例 #1 而不会运行。

那么,我应该如何构建测试范例的流程?

目前,我有一个包含多个测试用例的每个函数的测试套件。

最佳答案

main 之外使用 exit 通常不是一个好主意;在进程终止之前,调用者几乎没有机会理智地清理任何资源。

想一想……当fopen 失败时会发生什么? fgetsmallocpthread_createsocket 呢?这些调用 exit 中的任何一个吗?您不认为将您的故障模式设计为​​与世界其他地方尽可能一致是明智的吗?

使用返回值让调用者决定是否终止...然后您可以为每个函数构造单独的测试用例...中提琴!您的问题已经消失...

关于c - 退出测试的测试条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32131027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com