TestRunner.cpp
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:2k
源码类别:

模拟服务器

开发平台:

C/C++

  1. /**************************************************/
  2. /*                                                */
  3. /*  文件名:    TestRunner.cpp                     */
  4. /*  描述    :  维护每个测试点,根据名称执行       */
  5. /*             相应的Test用例                     */
  6. /*                                                */
  7. /* 作者  : Liu Wansong                        */
  8. /* 创建日期 : 8/22/2002                          */
  9. /*  修改日期 : 8/26/2002                          */
  10. /**************************************************/
  11. #include "TestCase.h"
  12. #include "TestSuite.h"
  13. #include "TestCaller.h"
  14. #include "TestRunner.h"
  15. //////////////////////////////////////////////////////////////////////
  16. // Construction/Destruction
  17. //////////////////////////////////////////////////////////////////////
  18. void TestRunner::printBanner ()
  19. {
  20.     cout << "Usage: driver [ -wait ] testName, where name is the name of a test case class" << endl;
  21. }
  22. void TestRunner::run (string testCase)
  23. {
  24.     if (testCase == "")
  25. {
  26.         printBanner ();
  27.         return;
  28.     }
  29.     Test *testToRun = NULL;
  30.     for (mappings::iterator it = m_mappings.begin ();
  31.             it != m_mappings.end ();
  32.             ++it) {
  33.         if ((*it).first == testCase) {
  34.             testToRun = (*it).second;
  35.             run (testToRun);
  36.         }
  37.     }
  38.     if (!testToRun) {
  39.         cout << "Test " << testCase << " not found." << endl;
  40.         return;
  41.     } 
  42. }
  43. TestRunner::~TestRunner ()
  44. {
  45.     for (mappings::iterator it = m_mappings.begin ();
  46.              it != m_mappings.end ();
  47.              ++it)
  48.         delete it->second;
  49. }
  50. void TestRunner::run (Test *test)
  51. {
  52.     TextTestResult  result;
  53.     test->run (&result);
  54.     cout << result << endl;
  55. }