Emacs lisp unit test framework

几经修改,终于让evil eval里面提到的Emacs lisp单元测试框架成形了。你可以通过http://www.wanglianghome.org/svn/test/test.el查看或下载,也可以通过subversion。

$ svn co http://www.wanglianghome.org/svn/test

里面还有一个小例子和一张截屏。

test和其它单元测试框架有两点不同,首先是抛弃了suite概念,而改用tag,同一个case可以属于多个tag;其次是通过一个test-assert-compare函数包含了所以已经实现和还没有实现的、二元assert功能,这使得整个代码无需很长(除去开头的文档,250行左右),却可以提供更多的功能,而且接口很一致。除此之外,还给用户提供了一定的扩展能力,使其能够编写更复杂的assert函数。

第一次在emacswiki上添加了属于自己的一笔,在UnitTest页面Automated testing frameworks一节的末尾。:-)

Git is available on Windows

最近看到git在一些中文blog中被提及,互相分享使用经验和感受,但是其中有一些误区,比如Windows上没有git。在Windows上是可以使用git的,我就在使用,使用的是Cygwin提供的git。

实际上,Cygwin维护的git是相当新的,早就是1.5版本了,而在Ubuntu和Debian上还都是1.4,连git tag列出tag的功能都没有,我只好自己编译最新的版本。git的开发虽然不能说一日千里,但速度确实非常快,所以请尽量使用最新发布的版本,阅读最新的文档。前两天还看到有人通过del.icio.us分享的中文git文档,最后更新时间是2006年初。比如该文开头提到的命令git-init-db,现在已经改为git init。而且早期的git被认为是比较难用,难以上手的。