<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实战(二)

          1.1  用例一:由ID获取策略

          B/S开发框架TDD用例一首先要满足最简单的功能:客户程序往容器里面增加策略,并能够获取策略数据。

          Web开发框架TDD增加获取策略

                                                                                                                   图1增加、获取策略

          web开发框架TDD用例一测试代码

          //按照ID获得正确的策略数据

          void test_should_be_able_to_get_right_strategy_by_ID()
          {
          	MMS_INT32 ID = 0;
          	StrategyContentContainer * container = new StrategyContentContainer();
          		container->addStrategy(ID, Strategy) ;
          	delete container;
          	TS_ASSERT_EQUALS(Strategy, container->getStrategyByID(ID));
          }

          test_should_be_able_to_get_right_strategy_by_ID这个函数名就像一句话,描述了检测的功能点,不需要多余的注释,函数名体现设计。web开发框架功能代码

          //一开始,没有StrategyContentContainer这个类,编译肯定通不过,那么定义StrategyContentContainer类,web开发框架简单实现成员函数addStrategy和getStrategyByID,让编译通过:

          struct StrategyContentContainer
          {
              void addStrategy(MMS_INT32, const PricingStrategyIF *); 
              const PricingStrategyIF * getStrategyByID(MMS_INT32) const;
          };
          void StrategyContentContainer::addStrategy(MMS_INT32 ID, const PricingStrategyIF* strategy)
          {
          }
          const PricingStrategyIF* 
          StrategyContentContainer::getStrategyByID( MMS_INT32 ID) const
          {
              return NULL;
          }

          // TS_ASSERT_EQUALS(Strategy, container->getStrategyByID(ID))不通过,执行失败,实现addStrategy和getStrategyByID函数:

          void StrategyContentContainer::addStrategy(
          	MMS_INT32 ID, const PricingStrategyIF* strategy)
          {
          	PricingStrategyIF* strategy_in = const_cast<PricingStrategyIF*>(strategy);
          	typedef StrategyMap::value_type S_VT;
          	std::pair<StrategyMap::iterator, bool> result = 
          		container.insert(S_VT(ID, strategy_in));
          }
          const PricingStrategyIF* 
          StrategyContentContainer::getStrategyByID( MMS_INT32 ID) const
          {
              StrategyMap::const_iterator it = container.find(ID);
              if (container.end() != it)
              {
                  return it->second;
              }
              return getDefaultPricingStrategy();
          }

          web开发框架TDD用例一测试通过,功能正确

          代码结构:良好

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

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

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

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

          相关文章: web开发缓存技术之B/S开发框架Redis分布式缓存管理

          电话
          电话 18718672256

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