我对 @TJ 大神的崇拜已经到了盲目的程度,同事经常问我为什么跪着看代码。。。
Should.js 是什么
知之为知之,不知百度(谷歌)之,概括而言,Should.js 就是个断言库,这里就不详细介绍了。
Should.js 优势在哪
Should.js 非常语义化,如果会英文,就感觉是在写自然语言一样的写测试。
1 | var should = require('should'); |
确实非常方便,有人说甚至不懂代码的人也可以很容易的写几个简单的测试。当然我觉得至少要先会英文。
should 确实非常语义化,但是英文写着读着累,假如用中文写:
1 | (5).应该.等于(5).并且.是.个.数字(); |
至少作为我们天朝程序员来说,读着非常顺畅。
中文化
其实 shouldjs 提供了所有接口,我们完全可以自定义这些东西,但是不同部分修改不同。
比如 be,and,a,have,is,it
这些只是简单的链或者叫别名,反正都是 be
的别名而已,文档里有说明的。
对了,顺便吐槽下 Should.js 的文档真是烂的一逼,当时我是完全看不懂,是看人家的例子才学会的。
经过测试,如下方法可以实现中文化。
1 | var should = require('should'); |
测试结果如下:
Ending…
上面例子中,我只是简单修改了几个别名和属性,仅仅是抛砖引玉。
如果你确实感兴趣,可以翻下 Should.js 手册做全面汉化,甚至写成汉化插件。