之前看了Bob大叔的《代码整洁之道》,里面有提到他的开源项目FitNesse,一个自动化测试的框架。可以进行单元测试、集成测试和系统测试等。对于一个开发人员来说,这个东西还是很强大的,因为你是要有编程的经验和能力才能挖掘出更大的宝藏。
下图是FitNesse的模块框架图,我们只要理解了SLIM Runners的功能,就可以知道各种Slim的的意义了。缺省的情况下Java就相当于是Slim。
如默认的slim的测试,一般就是编几个测试页面:
!define TEST_SYSTEM {slim}
!path E:\workspace\TestFitNesse\bin
|ShouldIBuyMilk |
|cash in wallet|credit card|pints of milk remaining|goto store?|
|0 |no |0 |no |
|10 |no |0 |yes |
|0 |yes |0 |yes |
|10 |yes |0 |yes |
|0 |no |1 |no |
|10 |no |1 |no |
|0 |yes |1 |no |
|10 |yes |1 |nope |
然后运行测试按钮。我们可以通过log得到测试命令就是用java去运行和解析我们测试用例的。
我是一个用c/c++作为开发语言的人,所以我首相就要想办法搭建起CsLim,具体可以参考如下的网页(重点是你要在测试页面定义你用的Cslim: " !define TEST_RUNNER {/home/pakydu/works/Finesse/cpp_fitnesse/cslim/Cslim_cslim}")。当然如果你用的是2010年左右的FitNesse,那应该不会碰到问题,但是如果用的是最新的FitNess,那就要注意了,因为cslim用的是webSocket, 有可能出现“server: bind: Permission denied”,具体情况可以参gitHub上的phySlim遇到问题的解决方法。
如何搭建Cslim:http://schuchert.wikispaces.com/cpptraining.GettingStartedWithFitNesseInCpp
如何解决“server: bind: Permission denied”:https://github.com/ggramlich/phpslim/issues/8 (启动FitNesse时,多添加一个参数 “ -Dslim.port=0”:java -Dslim.port=0 -jar fitnesse-standalone.jar ...)
关于Cslim的搭建就写到这了, 以后有什么新的发现或总结再更些FitNesse相关的内容。