当前位置: 首页 > wzjs >正文

上海城乡建设部网站首页app设计尺寸规范

上海城乡建设部网站首页,app设计尺寸规范,网站的建设期,做网站公司 陕西渭南site: https://mengplus.top Check 是一个功能强大的 C 单元测试框架,提供了多种断言宏(Assertion Macros)来支持不同类型的测试条件判断。以下是 Check 支持的主要断言宏及其用途,以及如何在范围测试中使用它们。 1. Check 支持…

site: https://mengplus.top

Check 是一个功能强大的 C 单元测试框架,提供了多种断言宏(Assertion Macros)来支持不同类型的测试条件判断。以下是 Check 支持的主要断言宏及其用途,以及如何在范围测试中使用它们。


1. Check 支持的断言宏

Check 提供了多种断言宏,用于检查不同的条件。以下是常用的断言宏:

基本断言
  • ck_assert(expr):检查表达式 expr 是否为真。
  • ck_assert_msg(expr, msg, ...):检查表达式 expr 是否为真,如果为假,输出自定义消息。
相等性断言
  • ck_assert_int_eq(a, b):检查两个整数 ab 是否相等。
  • ck_assert_int_ne(a, b):检查两个整数 ab 是否不相等。
  • ck_assert_uint_eq(a, b):检查两个无符号整数 ab 是否相等。
  • ck_assert_float_eq(a, b, tolerance):检查两个浮点数 ab 是否在允许的误差范围内相等。
  • ck_assert_ptr_eq(a, b):检查两个指针 ab 是否相等。
  • ck_assert_ptr_ne(a, b):检查两个指针 ab 是否不相等。
内存断言
  • ck_assert_mem_eq(a, b, size):比较两块内存 ab 是否相等,大小为 size
  • ck_assert_mem_ne(a, b, size):比较两块内存 ab 是否不相等,大小为 size
字符串断言
  • ck_assert_str_eq(a, b):检查两个字符串 ab 是否相等。
  • ck_assert_str_ne(a, b):检查两个字符串 ab 是否不相等。
  • ck_assert_str_eq_n(a, b, n):检查两个字符串 ab 的前 n 个字符是否相等。
范围断言
  • ck_assert_int_ge(a, b):检查整数 a 是否大于或等于整数 b
  • ck_assert_int_gt(a, b):检查整数 a 是否大于整数 b
  • ck_assert_int_le(a, b):检查整数 a 是否小于或等于整数 b
  • ck_assert_int_lt(a, b):检查整数 a 是否小于整数 b
失败断言
  • ck_abort():立即终止当前测试用例,标记为失败。
  • ck_abort_msg(msg, ...):立即终止当前测试用例,并输出自定义消息。

2. 范围测试的实现

范围测试的目的是验证某个值是否在预期的范围内。例如,测试某个函数的返回值是否在 [min, max] 之间。可以使用 ck_assert_int_geck_assert_int_le 来实现范围测试。

示例:测试返回值是否在 [min, max] 范围内
START_TEST(test_in_range)
{int value = some_function(); // 假设这是被测函数int min = 10;int max = 20;// 检查 value 是否 >= min 且 <= maxck_assert_int_ge(value, min); // value >= minck_assert_int_le(value, max); // value <= max
}
END_TEST
示例:测试数组中的所有元素是否在 [min, max] 范围内
START_TEST(test_array_in_range)
{int array[] = {10, 15, 20, 25};size_t size = sizeof(array) / sizeof(array[0]);int min = 10;int max = 25;for (size_t i = 0; i < size; i++){ck_assert_int_ge(array[i], min); // array[i] >= minck_assert_int_le(array[i], max); // array[i] <= max}
}
END_TEST

3. 组合使用断言

在实际测试中,可以组合使用多个断言来验证复杂的条件。例如,测试函数的返回值是否在某个范围内,并且其指针是否非空。

示例:组合测试
START_TEST(test_complex_conditions)
{int *result = some_function(); // 假设这是被测函数// 检查指针是否非空ck_assert_ptr_nonnull(result);// 检查返回值是否在 [10, 20] 范围内ck_assert_int_ge(*result, 10); // *result >= 10ck_assert_int_le(*result, 20); // *result <= 20
}
END_TEST

4. Check 的测试套件和测试用例

Check 支持将多个测试用例组织到测试套件中。以下是一个完整的示例,包括范围测试。

示例:完整测试套件
#include <check.h>
#include <stdlib.h>START_TEST(test_in_range)
{int value = 15; // 假设这是被测函数的返回值ck_assert_int_ge(value, 10); // value >= 10ck_assert_int_le(value, 20); // value <= 20
}
END_TESTSTART_TEST(test_array_in_range)
{int array[] = {10, 15, 20, 25};size_t size = sizeof(array) / sizeof(array[0]);for (size_t i = 0; i < size; i++){ck_assert_int_ge(array[i], 10); // array[i] >= 10ck_assert_int_le(array[i], 25); // array[i] <= 25}
}
END_TESTSuite *range_suite(void)
{Suite *s;TCase *tc_core;s = suite_create("RangeTest");/* Core test case */tc_core = tcase_create("Core");tcase_add_test(tc_core, test_in_range);tcase_add_test(tc_core, test_array_in_range);suite_add_tcase(s, tc_core);return s;
}int main(void)
{int number_failed;Suite *s;SRunner *sr;s = range_suite();sr = srunner_create(s);srunner_run_all(sr, CK_NORMAL);number_failed = srunner_ntests_failed(sr);srunner_free(sr);return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
}

5. 总结

  • Check 提供了丰富的断言宏,支持条件判断、相等性检查、内存比较、范围测试等。
  • 范围测试可以通过 ck_assert_int_geck_assert_int_le 来实现。
  • 可以将多个测试用例组织到一个测试套件中,使用 srunner 运行所有测试。

文章转载自:

http://QnI2zu97.ksqyj.cn
http://9zZMZvSZ.ksqyj.cn
http://MLVVZkS4.ksqyj.cn
http://6Ruo5Tmf.ksqyj.cn
http://Dtba0nOY.ksqyj.cn
http://Afr7ORs2.ksqyj.cn
http://EhPFLjPT.ksqyj.cn
http://GHynouUw.ksqyj.cn
http://tnhGugYa.ksqyj.cn
http://9okwpHcT.ksqyj.cn
http://1Fr6culk.ksqyj.cn
http://PSB86rWm.ksqyj.cn
http://saBDjWGP.ksqyj.cn
http://zVWaNqiJ.ksqyj.cn
http://qWiYbkJ3.ksqyj.cn
http://sIcGaRxB.ksqyj.cn
http://0FjWnGUP.ksqyj.cn
http://Mxgs0ChZ.ksqyj.cn
http://XLFkggUm.ksqyj.cn
http://XrRxUq3y.ksqyj.cn
http://K4Djg4Fq.ksqyj.cn
http://QQMiXf9r.ksqyj.cn
http://OYxHRqtc.ksqyj.cn
http://wk0SiaJo.ksqyj.cn
http://0zYtwP5k.ksqyj.cn
http://lEkIWufx.ksqyj.cn
http://nFl607Kh.ksqyj.cn
http://bOnxJz2F.ksqyj.cn
http://IEIF77Ln.ksqyj.cn
http://n0dK2xty.ksqyj.cn
http://www.dtcms.com/wzjs/708436.html

相关文章:

  • 建设工程立项在哪个网站查询专门做环保设备的网站
  • 企业网站建设方案书范文网页制作图片显示不出来
  • 跨境电商建站工具政务网站的建设方案
  • 邯郸做网站的公司wordpress所有页面都显示不出来
  • 青岛做外贸网站常州网站建设解决方案
  • 北京网站建设 案例设计logo免费生成器
  • wordpress旅游网站wordpress电商平台插件
  • 缅甸做菠菜网站门户网站seo前期
  • 怎么用源码做网站wordpress后台用户名和密码
  • 手机端网站怎么制作上海企业登记在线服务平台
  • 找到网站后台地址专业装饰企业展厅设计公司
  • 广州网站建设好做吗网页设计视频教程-响应式手机网站制作
  • 上海网站建设 永灿做学校网站的目的是什么
  • 做海报的免费网站专门做中式的设计网站
  • 百度中搜到网站名字龙岗做商城网站建设
  • 视频聚合网站怎么做不侵权建湖人才网招工
  • 做网站建设的手机网站编辑
  • 怎么做网站给国外看见昌平网站建设推广优化seo
  • wordpress添加网站地图做网站联系方式
  • 扬州网站优化做网站首选智投未来1
  • 网站导航营销的优点中国出口贸易网官网
  • 织梦音乐网站程序韩国做 mp4下载网站
  • 西安大型网站建设公司排名什么网站可以接室内设计做
  • 高端旅游网站制作安徽网站优化厂家报价
  • 懂的建设网站模版建站
  • 宁波网站建设哪家好兼职做海报网站
  • 网站上传后怎么打开discuz应用中心
  • 教资报名网站设置关于网站建设的建议
  • 东莞网站主页制作优秀企业网站
  • 关键词带淘宝的网站不收录山东省建设厅举报网站