|
在学习使用的过程中用c++test测试如下代码时,分歧的T都没有走到,- Account* Bank::getAccount(int num, string password)
- {
- Account* userAccount = NULL;
- if (myAccounts.size() > num)
- {
- userAccount = (Account*)myAccounts[num];
- }
- if ((userAccount != NULL) && (password.compare(userAccount->getPassword()) != 0))
- {
- // account wrong if account number does not match
- userAccount = NULL;
- }
- // No account with this number/password exists!!!
- return NULL;
- }
复制代码 帮助文档说加入自定义的测试用例来提高覆盖率,加入的代码如下:- /* CPPTEST_TEST_CASE_BEGIN test_getAccount_positive_0 */
- void TestSuite_getAccount_0::test_getAccount_positive_0()
- {
- /* 前提条件初始化*/
- //我们的bank对象
- ::Bank _cpptest_TestObject ;
- //我们将为Bank对象cpptestTestObject添加两个账户
- const char * _password0 = "password0";
- const char * _password1 = "password1";
- ::Account * account0 = _cpptest_TestObject.addAccount();
- account0->setPassword( _password0 );
- ::Account * account1 = _cpptest_TestObject.addAccount();
- account1->setPassword( _password1 );
- /* getAccount(int, std:string) 函数接受账户的账号和密码*/
- int accountNumber = 0;
- /* 调用测试函数 */
- ::Account * _return = _cpptest_TestObject.getAccount( accountNumber, _password0);
- /* 后置条件检查: */
- /* 因为我设置了“harness.postConditions true”,C++test会给我一个可视化的后置条件*/
- CPPTEST_POST_CONDITION_PTR("Account * _return", ( _return ))
- CPPTEST_POST_CONDITION_INTEGER("int _cpptest_TestObject.myCurrentAccountNumber",
- ( _cpptest_TestObject.myCurrentAccountNumber ))
- CPPTEST_NOT_VALIDATED()
- }
复制代码 一开始添加了两个用户,能够看明白,之后在调用测试函数的那一步有些不太明白了,返回的值是什么?还有就是最下面的几个宏是干什么的? |
|