为木兰开发环境雏形添加输入补全,功能测试大提速

栏目: 软件资讯 · 发布时间: 3年前

内容简介:之前用木兰代码基于 tornado 框架编写服务后端,完成了代码编辑、运行的最基本操作。本周为其添加了 sqlite 数据库,用于保存输入历史并提供简单的补全功能,效果如下(输入“运行”后下拉框提示以往包含“运行”...

之前用木兰代码基于 tornado 框架编写服务后端,完成了代码编辑、运行的最基本操作。本周为其添加了 sqlite 数据库,用于保存输入历史并提供简单的补全功能,效果如下(输入“运行”后下拉框提示以往包含“运行”的输入):

为木兰开发环境雏形添加输入补全,功能测试大提速

【木兰安装方法:pip install ulang,用法与例程请见 PyPI。源码位于开源中国注意:必需 python 3.7,源码文件需 UTF-8 编码

下面是访问数据库以提供补全项的木兰代码:

type 预估请求: SessionMixin, tornado.web.RequestHandler {
  func $get {
    提示 = self.get_argument('term', nil)
    所有请求 = []

    // TODO: 优化?
    历史请求 = self.session.query(过往请求)
    if 提示 != nil {
      历史请求 = 历史请求.filter(过往请求.请求.like("%" + 提示 + "%"))
    }
    历史请求 = 历史请求.order_by(desc(过往请求.时间)).group_by(过往请求.请求).distinct()

    // logging.info(str(历史请求))  // 可查看  sql  语句
    // TODO: 通过拼音补全
    for 记录 in 历史请求 {
      所有请求.append(记录.请求)
    }
    $write({"历史" : 所有请求})
  }
}

期间发现,sqlalchemy 库中有个 func 方法,与木兰关键词重名。尚未想到如何在木兰中如何调用,暂不深究,今后需要此方法时再说。

改进测试

之前一直用运行木兰进程获取输出的方式进行功能测试,好处是 1)与用户使用方式很接近,能确保测试有效 2)可用同样方式测试原始木兰可执行文件 ulang-0.2.2.exe。但运行很慢,100 多个用例,每个都起一个进程,本机大约 30 秒。正好上周为开发环境获取输出内容,通过重定向标准输出的方式可以获得 exec 的输出,于是重用在测试中,并改写为 unittest 测试,现在测试所有用例耗时半秒左右。但发现 windows 下字符串相关测试未过,尚需研究。

另外,改为重定向输出后,现在也可以对报错信息(如 词不识.ul )进行测试了。

其他

  • 修正语法错误中的列位置
  • 添加 try 表达式 {} 语法,但未发布 pypi 新版本,因为暂没用在实例中

附:代码量统计

主要部分的代码行数统计,格式为:上次->现在。

  • 木兰代码量 3204 -> 3260
    • 运行环境,实现与测试大部为木兰代码:524 -> 582
    • 木兰测试用例,包括部分实用小程序(如井字棋):2680 -> 2678 (报错信息测试用例替代了源码中的注释)

 

  • Python 代码量(木兰实现与测试框架):2675 -> 2721
    • 分析器/语法分析器.py:1013 -> 1015
    • 分析器/词法分析器.py:207
    • 测试/期望值表.py(从“运行所有.py”中提取):131
    • 测试/unittest/语法树.py,确保生成的语法树与原始版本一致:66 -> 88
    • 测试/运行所有.py,检验所有木兰测试代码片段:195 -> 62
    • 测试/unittest/所有用例.py:24
    • 未变
      • 分析器/语法树.py:202
      • 环境.py,定义全局方法:172
      • 交互.py,交互环境(REPL):148
      • 分析器/语法成分.py,从语法分析器中提取出来的枚举常量:82
      • 中.py,主程序:74
      • 功用/反馈信息.py:71
      • 功用/调试辅助.py,:57
      • setup.py, 34
      • 测试/unittest/交互.py,交互环境相关测试:28
      • 分析器/错误.py:26

以上所述就是小编给大家介绍的《为木兰开发环境雏形添加输入补全,功能测试大提速》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

见微知著-WEB用户体验解构

见微知著-WEB用户体验解构

李清 / 机械工业出版社 / 2010-4 / 36.00元

本书用解构分析的方法,系统全面地介绍了Web页面设计的相关知识和要素。 本书从整体到局部地对网站的元素进行解构,包括网站整体布局、整体配色方案,到网站各个功能区域,如登录区、内容区、广告区等,最后到按钮、反馈、验证码、字体、文字语气等多个细节元素。本书通过解构这些元素来讲述如何对用户体验设计进行优化,如何进行搜索引擎优化。 本书适用于网站交互设计师、视觉设计师、产品经理、网站设计人员、......一起来看看 《见微知著-WEB用户体验解构》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试