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

帝国网站调用图片集跨境电商网站如何做推广

帝国网站调用图片集,跨境电商网站如何做推广,wordpress模板 鸟,网站开发质量管理最近做了一段测试工作#xff0c;其中包括单元测试#xff0c;编程语言是C。这里提供一些基本知识总结#xff0c;方便入门单元测试。 1.单元测试介绍 单元测试#xff08;Unit Testing, 简称UT#xff09;是软件测试的一种方法#xff0c;目的是通过对单个软件组件其中包括单元测试编程语言是C。这里提供一些基本知识总结方便入门单元测试。 1.单元测试介绍 单元测试Unit Testing, 简称UT是软件测试的一种方法目的是通过对单个软件组件即单元的验证确保其按预期工作。对于C程序开发者来说单元测试是一项重要的质量保障手段能够帮助开发者在代码开发过程中及时发现和修复问题。 单元测试的优点 提高代码质量通过自动化的测试能够有效捕捉到程序中的潜在缺陷。回归测试随着代码的不断重构和修改单元测试能够确保原有功能没有被破坏。文档化代码良好的单元测试不仅是验证代码的工具也充当了文档角色帮助开发人员更容易理解代码的预期行为。减少调试时间因为测试能够尽早发现问题能够帮助开发者避免在较后阶段出现难以调试的问题。 单元测试的挑战 测试覆盖率虽然单元测试能够有效发现许多问题但并不是每个错误都能被检测到因此测试覆盖率需要设计得足够高。维护性随着项目规模的增大单元测试本身也可能会变得非常庞大和复杂维护起来可能会成为一个负担。 2.google test Google Testgtest是由Google开发的一个C测试框架用于编写和执行单元测试。它提供了许多功能使得编写和执行单元测试变得更加简便和高效。gtest支持断言assertion、异常捕获、参数化测试等功能。 在项目中使用 在Cmakelist里通过 find_package(GTest REQUIRED) 来引入Google Test库 头文件 #include gtest/gtest.h常用断言 EXPECT_EQ(val1, val2)断言两个值相等。 EXPECT_NE(val1, val2)断言两个值不相等。 EXPECT_TRUE(expression)断言表达式为true。 EXPECT_FALSE(expression)断言表达式为false。 ASSERT_* 和 EXPECT_*两者的区别在于ASSERT_*失败时会立即终止当前测试用例的执行而EXPECT_*会继续执行。 参数化测试 gtest支持参数化测试允许使用不同的参数多次运行同一个测试逻辑。 class MyTest : public ::testing::TestWithParamint {};TEST_P(MyTest, TestWithParam) {EXPECT_EQ(GetParam(), 1); // 断言传入的参数与1相等 }INSTANTIATE_TEST_SUITE_P(MyTests, MyTest, ::testing::Values(1, 2, 3));3. goole mock Google Mockgmock是Google推出的一个用于C的模拟框架用于为依赖的外部对象创建模拟Mock对象。在单元测试中经常需要模拟外部依赖以便测试目标函数的行为而Google Mock正是提供了这种能力。 在项目中使用 在Cmakelist里通过 find_package(GMock REQUIRED) 来引入Google Test库 头文件 #include gmock/gmock.h使用gmock时我们通过模拟对象来替代真实的对象避免依赖外部系统。以下是gmock的一些基本用法。 创建 Mock 类通过继承testing::Mock然后模拟所需的成员函数。 class MyClass { public:virtual int Multiply(int a, int b) {return a * b;} };class MockMyClass : public MyClass { public:MOCK_METHOD(int, Multiply, (int a, int b), (override)); };2. 设置期望使用EXPECT_CALL来设置期望断言模拟对象的方法是否按预期被调用。 TEST(MockTest, MultiplyTest) {MockMyClass mock;EXPECT_CALL(mock, Multiply(2, 3)).WillOnce(testing::Return(6)); // 设置期望Multiply(2, 3)返回6EXPECT_EQ(mock.Multiply(2, 3), 6); // 断言返回值是否为6 }3. 模拟行为可以通过WillOnce或WillRepeatedly指定模拟方法的返回值或行为。 EXPECT_CALL(mock, Multiply(testing::Gt(0), testing::Lt(10))).WillRepeatedly(testing::Return(42)); // 所有大于0且小于10的输入都会返回424. 模拟void函数对于返回类型为void的函数使用MOCK_METHOD时可以通过WillOnce模拟其行为。 class MyClass { public:virtual void DoSomething() {// Do something} };class MockMyClass : public MyClass { public:MOCK_METHOD(void, DoSomething, (), (override)); };TEST(MockTest, DoSomethingTest) {MockMyClass mock;EXPECT_CALL(mock, DoSomething()).Times(1); // 期望DoSomething()被调用一次mock.DoSomething(); // 调用 }5. 验证期望gmock会根据EXPECT_CALL的期望来验证实际行为。如果期望的行为未被触发或被触发的次数不正确gmock会报告错误。 6. 匹配器Matchersgmock提供了强大的匹配器能够对函数参数进行更灵活的验证。例如 testing::Eq(val)匹配相等的值。testing::Gt(val)匹配大于val的值。testing::Lt(val)匹配小于val的值。 进阶使用 动作链式调用通过WillOnce和WillRepeatedly可以设置多个返回值。Mock方法的调用顺序可以通过InSequence来检查多个期望的调用顺序。 TEST(MockTest, CallOrderTest) {MockMyClass mock;{testing::InSequence seq; // 保证调用顺序EXPECT_CALL(mock, Multiply(2, 3)).WillOnce(testing::Return(6));EXPECT_CALL(mock, Multiply(4, 5)).WillOnce(testing::Return(20));}mock.Multiply(2, 3);mock.Multiply(4, 5); }
http://www.hkea.cn/news/14440893/

相关文章:

  • 济宁建设网站首页南宁网站建设 超博网络
  • 吉安网站推广徽hyhyk1青岛市城乡和住房建设局
  • 建设旅游网站的工作方案国外购物网站app
  • win2008系统做网站济南建设工程信息网官网
  • 外贸做双语网站好还是单语网站阿里巴巴官网登录
  • wordpress wp_term_taxonomy东莞网站排名优化seo
  • 在百度做网站销售php 小企业网站 cms
  • 毕设做网站可以用模板吗寿光住房和城乡建设局网站
  • 网站建设工程大型电子商务网站 服务器硬件 cpu 内存 硬盘 2014
  • 无锡企业做网站重庆营销策划公司排名
  • 网站模板 古典网络推广外包业务怎么样
  • 云南省工程建设造价协会网站免费建手机商城网站
  • 网站修改标题有影响吗三点水网站建设
  • 重庆做的好的房产网站好js 修改 wordpress
  • 网站盈利模式设计wordpress自动变化文字
  • 北京给公司做网站多少钱建设环境工程技术中心网站
  • 免费网站免费领地西安网站建设和推广公司
  • 一个人可以做几个网站负责人wordpress模板用什么工具修改
  • 设计师网站十大网站推荐双语网站建设报价
  • 绵阳建设局官方网站沈阳中讯国际网站建设
  • 专注旅游网站网站开发用什么软件开发app
  • 免费课程网站有哪些织梦网站怎么做
  • 做网站界面用的软件如何做网站聚合页
  • 网站空间到期提示推广公司有哪些
  • 讨债公司网站建设服务平台入口
  • 如何分析网站建设知名企业官网
  • 深圳网站制作联系兴田德润亚马逊的网站建设分析
  • 手机端网站怎么制作必应网站建设
  • 有什么做视频的素材网站网站项目需求表
  • 郑州专业网页模板制作公司宿迁seo公司