摘要: 本文目的单元测试过程中经常会遇到被测试函数A依赖另一个函数B,但是B已经完全测试过,没有必要在测试A的时候重复测试B。如何去除这种不必要的测试呢?本文探讨了如何手动解决测试依赖,更进一步地,结合PHPUnit的Mock API,提出更加优雅,高效的解决方案。一个例子假设有一个订单管理类OrderManager,它的私有变量中,有一个OrderDao,当插入订单时,首先OrderManager会检查内参数是否合法,然后调用OrderDao的insert方法,将Order对象插入到数据库中。现在,假设已经测底的对OrderDao的所有方法进行了单元测试,需要测试OrderManager相关方。此时 阅读全文
posted @ 2012-06-29 21:09 bourneli 阅读(6454) 评论(0) 推荐(0) 编辑
摘要: 基于字典的的正向最大减字匹配算法,在《搜索引擎原理、技术与系统》提到过,可以说是最简单的中文分词算法之一。本文简要介绍实现过程,并附上实现源代码,一起学习。该算法实现主要是基于一个词典,进行分词,所以词典质量直接影响分词的结果。但是算法上也存在一些硬伤,举个例子,”参加过世界杯的选手”。无论用多丰富的词典,此算法均会分成“参加 过世 界 杯 的 选手”。 词典 词典采用GBK编码,格式为“ID SP 词语 SP 频率”(点击这里下载),只需要读取每一行,拿到两个空格(SP)之间的词语,然后放到一个C++ STL的set对象即可。在加载词典的同时,可以算出最大词长nMaxWordLen... 阅读全文
posted @ 2012-06-29 20:57 bourneli 阅读(1653) 评论(0) 推荐(0) 编辑