做个调查,你的 Node 应用有单元测试吗?
发布于 3 个月前 作者 atian25 2748 次浏览 来自 分享

做个调查,你的 Node 应用有单元测试吗? 问卷地址:https://survey.alibaba.com/survey/4MquTWvvk

46 回复

开源项目写,公司项目看情况,其他不写。。。

开源项目【想】写,公司项目看情况(目前还没有要求写的),其他不写

就像eslint,之前感觉碍手碍脚的,后来用上了,体会到了,现在感觉不用不舒服。。

test大家都说好,但是现在还没应用上。。。

==============================

好,现在用上了,感受:有点用,找出了不少错误。挺爽的,补测试挺累。。看覆盖率上升很开心

最近每天奔走于活动页之间,还要兼容IE7,和 test 有毛线的关系

所有项目都有。开源项目追求100%的覆盖度。公司项目测试覆盖度维持在 70% 左右。

开源项目,公司的底层项目写,其他的看情况

极其重要的项目有,和安全有关的项目有,其他没有。

看到你们这么说,我就放心了。

看到你们这么说,我就放心了。

看到你们这么说,我就放心了。

看到你们这么说,我就及其放心了。

要求项目必须写,关注覆盖率,但不搞 TDD。

看到你们这么说我就放心了

想请教一个问题,单元测试,是针对重要的核心无状态模块以及核心有状态的模块打 mock 后做覆盖率测试就可以,还是一定要包含所有的涉及到的代码呢,比如项目的 http 启动服务入口这样的?

基本不寫,自己開心就好

底层跟重要的业务逻辑写,普通的不写。

看到你们这么说,我就及其放心了。

单人作战的我,不写,不会写,找时间体会一下

公司的项目基本没人写。大多忙于业务、上线。 自己的开源项目,那肯定是要写的,没有测试谁敢用!

部分有,但是单元测试还是覆盖不到每一行代码

用egg做的公司单点登陆,怕有意外,单测覆盖率80%以上。

公司java有70+人,对node做公司单点登陆一直耿耿于怀,自己则对所有质量环节,特别不敢怠慢。

BTW,没有强类型,nodejs在企业级应用中确实比较累,很容易出现低级错误。。

@johnnychen 别怕。java 问题同样很多。主要看人的能力,而不是人数。。。。而且出了问题,java 更加难以搞定

好像有人说过,强类型并不能使错误减少

写呀,单元测试是个好习惯。

@zhanzhenzhen 逻辑问题那肯定一样了 但传参这里的问题可以规避,更具有规范 所以弱类型高手适合写,强类型适合菜鸟历练,哈哈 同理,写弱类型的不一定是大神,写强类型的也不一定是菜鸟 自认代码一流的我,当然是学弱类型啦!😚 这样束缚少了,写代码快一些 来自酷炫的 CNodeMD

看到你们这么说,我就放心了。我刚准备学习单元呢 哈哈

@johnnychen 上TS可以极大提升效率

开源的尽量写。公司项目遇上赶工的。。。

lz,egg啥时候改为ts呢。我计划让egg-bin支持win32平台部署

没有写,开源项目也没写 - -。。。。。。 所以说我 star 很少

@waitingsong egg 本身暂时没计划,应用的话现在就可以用 TS 了啊,蚂蚁那边都是 TS 写 egg 业务应用的。

egg-bin 一直有支持 win 的,就是 egg-scripts 不支持而已(进程判断麻烦,而且部署都是在 linux,就懒的搞)

看到你们这么说,我就及其放心了。

我也放心了

公司的项目主要做Api,这种项目单元测试的意义不大,入参校验严格处理就可以。 看了这么多我也放心了

@atian25 我这儿有部署win32的需求。在写外围插件控制窗口以及获取进程

@waitingsong 那你写个 cli 继承下 egg-scripts 就可以了,我们可以暴露相关接口来覆盖。

@atian25 我计划是用node ffi调用user32.dll来控制窗口以及获取pid。不过就需要安装gyp,这个依赖了一堆 东西,
安装失败率不低。 估计得有个开关来控制是否使用win扩展模式(就是我计划实现的插件)

或者先把.node文件编译好然后直接调用?不知道这个办法是否可行

看到这么多人不写单元测 我也就放心了

我们有单元测试 写个单元测试和写业务代码一样多

用的egg.js 肯定有的

@waitingsong 之前我试过用 https://www.npmjs.com/package/find-process 这个库来处理 pid,但在某些 win 上有兼容性问题,所以后面也懒得搞了。

目前 npm 上支持 win process 的库,要不就是跟上面那样,用 WMIC path win32_process 要不就是用 Native C 来写。

而后者会导致平台安装兼容性之类的问题,所以评估之后,egg-scripts 官方暂时不打算支持 Windows。

你这边业务有需要的话,可以自己写个 cli,继承 egg-scripts 来实现即可。

@atian25 “可以自己写个 cli,继承 egg-scripts 来实现即可。” 你指的是“集成”么?

我写的 win32-api 库是基于node-ffi 调用系统user32.dll等核心链接库,然后封装了一个操作windows窗口的库用于窗口操作:改变窗口title(可用于查找egg-script进程窗口的hWnd以及pid),隐藏窗口等。 详情可见我资料的github地址

单侧只是一种工具。重点的地方是覆盖,覆盖什么(代码行、条件、路径等)、怎么覆盖、怎么检查目标的覆盖率。

回到顶部