培训首页  >  软件测试新闻  >  gmock的神奇作用

gmock的神奇作用

[2017-06-30 16:48:53] 浏览量:443 来源:

北京尚脑互联软件测试培训中心

  // Test case to test AccountService

  TEST(AccountServiceTest, transferTest)

  {

  std::map

  mAccount["A"] = Account("A", 3000);

  mAccount["B"] = Account("B", 2000);

  AccountHelper helper(mAccount);

  MockAccountManager* pManager = new MockAccountManager();

  // specify the behavior of MockAccountManager

  // always invoke AccountHelper::findAccountForUser

  // when AccountManager::findAccountForUser is invoked

  EXPECT_CALL(*pManager, findAccountForUser(testing::_)).WillRepeatedly(

  testing::Invoke(&helper, &AccountHelper::findAccountForUser));

  // always invoke AccountHelper::updateAccount

  //when AccountManager::updateAccount is invoked

  EXPECT_CALL(*pManager, updateAccount(testing::_)).WillRepeatedly(

  testing::Invoke(&helper, &AccountHelper::updateAccount));

  AccountService as;

  // inject the MockAccountManager object into AccountService

  as.setAccountManager(pManager);

  // operate AccountService

  as.transfer("A", "B", 1005);

  // check the balance of Account("A") and Account("B") to

  //verify that AccountService has done the right job

  EXPECT_EQ(1995, helper.findAccountForUser("A").getBalance());

  EXPECT_EQ(3005, helper.findAccountForUser("B").getBalance());

  delete pManager;

  }

  请联系网站,了解详细的优惠课程信息~

  优质、便捷、省心


文中图片素材来源网络,如有侵权请联系删除
  • 软件开发
  • 软件测试
  • 数据库
  • Web前端
  • 大数据
  • 人工智能
  • 零基础
  • 有HTML基础
  • 有PHP基础
  • 有C语言基础
  • 有JAVA基础
  • 其他计算机语言基础
  • 周末班
  • 全日制白班
  • 随到随学

网上报名

热门信息

温馨提示