<th id="v9g6b"><track id="v9g6b"></track></th>

  • <em id="v9g6b"><acronym id="v9g6b"></acronym></em>
    <progress id="v9g6b"><pre id="v9g6b"></pre></progress>
    <tbody id="v9g6b"></tbody>
    <button id="v9g6b"><acronym id="v9g6b"></acronym></button>
    <rp id="v9g6b"><ruby id="v9g6b"></ruby></rp>

        <dd id="v9g6b"></dd>

        <em id="v9g6b"></em>

          B/S开发框架测试驱动开发(TDD)指导书(八)

          本指导书详细介绍了敏捷实践——TDD的各个方面。TDD是提升单元测试有效性的工程方法,Web开发框架中遵循测试先行、小步快跑和及时重构的原则,能有效减少过度设计,促进降低开发成本、以及提高软件质量和设计效率。另外,本指导书还对遗留系统的TDD,以及TDD工具的选择给予参考性建议,B/S开发框架并通过大量的实践案例引导你充分体验TDD的魅力。

          TDD实战(二)

          web开发框架TDD项目代码在析构时,删除已有的策略

          B/S开发框架项目开发中考虑资源释放问题,用例1往容器里面增加策略数据,那么在容器销毁时、程序退出时,策略数据应该能够被释放。

          web开发框架TDD销毁容器

                                                                                                           图1销毁容器,删除已有策略

          测试代码

          //B/S开发框架项目TDD增加两个策略对象Strategy1、Strategy2,在销毁容器时,必须释放

          void test_should_be_able_to_free_all_added_strategy_when_deconstruct()
          {
          	StrategyContentContainer * container = new StrategyContentContainer;
          	MockObject<PricingStrategyIF> Strategy1;
          	container ->addStrategy(0, Strategy1) ;
          	Strategy1.willBeDeleted();
          
          	MockObject<PricingStrategyIF> Strategy2;
          	container ->addStrategy(1, Strategy2) ;
          	Strategy2.willBeDeleted();
          
          	delete container;
          	Strategy1.verify();
          	Strategy2.verify();
          }

          //如何检测Web开发框架TDD的Strategy1、Strategy2已经被释放了,无法从被测入口函数的返回值、参数来判定。Mock提供了willBeDelete、verify,检验被测对象的内部行为。

          功能代码

          //销毁容器,实现析构函数,释放map中的策略对象

          //同样先实现析构函数,让编译通过

          StrategyContentContainer::~StrategyContentContainer()
          {
          }

          //测试不通过

          //然后再往B/S开发框架项目析构函数里面补充具体实现


          StrategyContentContainer::~StrategyContentContainer()
          {
              delete This;
              StrategyMap::iterator it = container.begin();
              for (; it != container.end(); ++it)
              {
                  delete it->second;
              }
              container.clear();
          }


          测试通过,功能正确

          代码结构:良好

          标签: B/S开发框架测试驱动开发

          网站&系统开发技术学习交流群:463167176

          本站文章除注明转载外,均为本站原创或翻译,欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,共创和谐网络环境。
          转载请注明:文章转载自:软件开发框架 ? B/S开发框架测试驱动开发(TDD)指导书(八)
          本文标题:B/S开发框架测试驱动开发(TDD)指导书(八)
          本文地址:http://www.sajuice.com/OrgTec/Agile/0014.html

          相关文章: 深入敏捷框架--公司级Story培训指导书(一)

          电话
          电话 18718672256

          扫一扫
          二维码
          本港台开奖 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>