Liu Longjun's Blog

程序员,曾经混迹于北京,目前混迹于成都

使用Maven工具让Web应用一键运行Unit Tests和Functional Tests

最近在做Web项目开发,使用AngularJS。一开始不知道怎么做测试,后来,在这个页面里了解了很多AngularJS的单元测试和功能测试(End to End测试)技巧。 因此,在项目中,我们使用Karma(之前叫做Testacular)来运行Javascript的单元测试,也用Karma来运行AngularJS的e2e测试。

接着,我们写了两个Karma的配置文件,一个是单元测试的,一个是e2e测试的。我们可以用Karma命令单独运行这两种测试,但是我们又希望能够把这两个测试集成到应用的构建脚本中,以便我们运行

1
$ mvn clean install

时,就会运行这两种测试,只要有其中一种测试失败,构建就失败。

使用Karma Maven Plugin可以很轻松地配置单元测试和e2e测试。

配置如下:

《可操作的民主》读后感——罗伯特议事规则

书的封面 这本书很薄,讲述的是这么一个有趣的故事。 在安徽阜阳南塘村合作社,土生土长的合作社领袖苦恼于合作社的治理问题,其中包括合作社开会过程中存在的“跑题”、“一言堂”、“野蛮争论”等问题。于是结合几名异端者,把“罗伯特议事规则” 带给合作社的村民们,让“罗伯特议事规则”来指导大家,开高效的会议。 大家可以想象村民们的文化水平,要想把“罗伯特议事规则”,这种高度抽象化和规则化的东西教给他们,是多么的困难,也是多么的有意思。 于是,很多有趣的故事就在书中一一展开。

我们这样去追求卓越的软件(二)—— 如何进行自动化测试和手工测试

接着我的上一篇文章《我们这样去追求卓越的软件(一)—— 如何保持代码风格统一》,我想在这篇文章里分享一下我们进行自动化测试和手工测试的一些具体实践和操作步骤。

本来早就想写这篇文章了,可是一直没有时间。最近刚来到成都,事情总是很多,太忙了也懒得写了。不过想想这都7月了,上一篇文章还是4月写的,中间间隔太长了,不能停,还是得坚持写下去。于是今天无论如何要完成这篇文章。

阅读提示:文章标题说我们是这样去追求卓越的软件,并不意味着我们这样就已经是卓越的团队了。卓越无止境,在精益求精的道路上,我们一直在努力。

首先抽象地描述一下项目背景,这个项目是一个面向消费者的Web系统(以下简称系统A)。用户访问系统A,输入数据,系统A 接收数据,然后调用系统B 的REST接口返回处理过的数据给用户。其中系统B 是由另一个团队开发和维护的。描述地够抽象的吧,不过你可以想象,比如一个电商网站。

该项目采用Java,框架是Spring,构建工具是Maven,技术不算很新啦。

好了,要说到自动化测试,肯定得先说说我们是如何按照需求进行开发的。

成都新办公室装修完毕——谈谈敏捷团队的工作环境

去年十二月份来到成都时,只是远远地,抬头望着天府软件园E区的楼盘,想象着新的办公室会是个什么样子。由于楼外面还在装修,当时是一片的狼藉。期间,抽空和gigix韩老师在我们的根据地,软件园A区的奇诺咖啡厅一起商讨新办公室的装修方案。我们和好几家装修公司打过交道,有靠谱的,也有不靠谱的。最终在春节前,我们敲定了装修方案。

办公室大楼外面

过完年,在两位美眉TW_lifangAlice要学习的关照下,办公室就开始华丽丽的装修了。这期间我刚好在悉尼,没有经历装修的过程,两位美眉辛苦了。为了环保材料和一些装修失误等,她们和装修队伍进行了N多次的有效沟通,费时又费力。

装修之前

四月底,当我们团队从西安回到成都时,已经是焕然一新的办公室啦。

好了,现在切入我这篇文章的主题,结合我们成都办公室的装修经验,谈谈敏捷团队应该需要怎样的工作环境。良好的工作环境,让我们从办公室装修做起。