论坛首页 Java企业应用论坛

Without SSH/JSP/Servlet,不走寻常路,Java可以更酷

浏览 213636 次
该帖已经被评为精华帖
作者 正文
   发表时间:2010-02-05  
楼主,我以前看过你帖子说是这个框架或者说平台可以自动生成测试代码

我以前理解是测试代码是在功能代码之前写的,然后写功能代码让测试通过,这样保证功能代码的正确性
如果测试代码是根据功能代码自动生成的,那测试代码还有什么用呢。或者功能代码的逻辑错了,生成的测试代码能检测到吗
0 请登录后投票
   发表时间:2010-02-05  
qinglangee 写道
楼主,我以前看过你帖子说是这个框架或者说平台可以自动生成测试代码

我以前理解是测试代码是在功能代码之前写的,然后写功能代码让测试通过,这样保证功能代码的正确性
如果测试代码是根据功能代码自动生成的,那测试代码还有什么用呢。或者功能代码的逻辑错了,生成的测试代码能检测到吗


快要发布的Douyu1.0版并为加入"真正"的自动化测试功能,
目前也只是集成像JUnit这样的测试框架来完成单元测试和功能测试。

自动化测试在后续版本中会尝试加入进来,
但这一块很有挑战性,也很有难度,完全可以做为一个大的研究课题,所以目前并没有完全实现。


你的理解可能是指TDD(测试驱动开发)的概念,
也就是说,先写测试代码,然后写功能实现代码。

我所说的自动化测试不是这样的,刚好反过来,
就像目前大多数的开发流程那样,先写功能实现代码,
然后通过自动化测试工具来分析你写好的功能实现代码,
自动为你生成测试代码和一些诊断数据,然后你看看这些生成的结果是否满足你的设计要求。

这种自动化测试工具具体是什么样子还不是很明了,因为目前也只处于探索和尝试阶段。


0 请登录后投票
   发表时间:2010-02-26  
robbin 写道
mycybyb 写道
在我眼里,Servlet只是提供了一个访问请求参数和输出响应的接口而已,我也只用这些。无所谓的东西,就算自己做平台,不也要提供吗。


这说明你根本不了解Servlet。 如果你想绕开Servlet,你就必须自己实现完整的HTTP Server,实现request/response/session/cookie等一套完整的服务器客户端交互机制,你必须扔掉WAR打包机制,扔掉WEB-INF资源加载方式,必须扔掉Tomcat/Jetty/WebLogic/....所有的Java应用服务器,扔掉我们习以为常的Servlet非线程安全的多线程编程机制,所有的都要扔掉。

所以只要摆脱了Servlet,就摆脱了现在JavaEE的所有桎梏,可以从新来过了,于是一个全新的世界开始了。


强烈同意. J2EE应用服务器有很大比例的实现代码就忙在这上面了, 而这个包袱不抛弃Servet API, 是摆脱不掉的.
0 请登录后投票
   发表时间:2010-03-02  
简单的看了下,和struts这样的框架没有太大的区别,只要前端action是这样的。不同的是你自己写了HTTP协议的解析器,另类的配置方式和动态编译,还没有看数据库层你是怎么弄的,暂时的评价吧
0 请登录后投票
   发表时间:2010-03-03  
很佩服。很历害。
0 请登录后投票
   发表时间:2010-03-03  
这篇文章部份内容已经过时了。

Douyu原来是打算在3月1号发布的,不过出于各种原因要推迟一段时间了。
其中有一个原因是想加入更多有趣的功能:

比如现在正在做的:
1) 支持集群(包括Session复制)

2) 支持AJP1.3协议,这样Douyu可以跟Web Server整合(比如:Apache、Lighttpd),
   用mod_jk实现负载均衡。

3) 支持非关系型数据库,目前已支持MongoDB,还会考虑支持Cassandra或其他非关系型数据库

4) Douyu的内部架构也做了调整,直接面向开发人员的API包含下面4大接口组件

1. douyu.mvc.ModelManager
2. douyu.mvc.ViewManager
3. douyu.mvc.ControllerManager
4. douyu.security.PermissionManager

除了douyu.mvc.ControllerManager外,其他3个组件可以自由插拨,
比如在View层如果想换成Velocity,不用改Model层和Controller层的代码,
只需要在配置文件中设置一个参数:
viewManagerProvider = douyu.plugins.velocity.VelocityViewManagerProvider
如果想换成FreeMarker,则改成:
viewManagerProvider = douyu.plugins.freemarker.FreeMarkerViewManagerProvider

当然还有很多在这里没提的功能就不罗列了,
Douyu对引进的每一项功能都会精雕细琢,力求完美,哪怕牺牲再多时间也无妨。

0 请登录后投票
   发表时间:2010-03-12  
Douyu最近怎么样了,咋没动静了呢,楼主什么时候发布正式版啊
0 请登录后投票
   发表时间:2010-03-12  
herozk 写道
Douyu最近怎么样了,咋没动静了呢,楼主什么时候发布正式版啊


估计还要等一段时间。

现在只剩一个难题了:就是View层的模板引擎开发 (陆陆续续奋战了1个多月都没实质进展)。

现在内置的模板引擎还不是完全可用,功能比Velocity或FreeMarker还弱,
最难的一块是表达式解析,如果表达式中的变量不需要事先进行类型声明就比较难转换成编译器内部相应的语法树,
只能重新回到实现"javax.el"的老路子:
比如在Tomcat中借助JavaCC来生成一个Parser,然后再用这个Parser动态解析EL表达式,
最后通常再使用反射或Map等等的方式对EL表达式求值,它并不能把EL表达式编译成字节码。

另外,在表达式中要决定支持多少种运算符也是个很头痛的问题,比如range运算符很有用,(比如[1..100])
但是Java语言本身没有这个运算符,那么在完成语法分析后还要做很多的转换工作。

现在又忙着工作应聘相关的事,如果时间紧迫,有可能先把模板引擎的开发工作搁置先,
可以用Velocity或FreeMarker来展示数据,目前Douyu对这两者都有支持。


我自已最初的打算也是先把Douyu当成一个孵化器性质的项目,并不那么急于求成。
当然,我很乐意与各位朋友交流技术实现方面的细节。

0 请登录后投票
   发表时间:2010-03-12  
挺好挺好,抛弃规范另辟新路,期待更好的结果。
其实规范也就那点事,不过是各个大厂商讨价还价,搞出个框框条条来,为了这个目的,你们就只能这么干,虽然达到目的的路不止一条。
0 请登录后投票
   发表时间:2010-03-13  
说句实话 ,看到楼主这篇文章,我认真的看了每个人的回复,看了三个小时,只能说佩服。而像博主沟通能力和对自我认识都这么高和清晰那更加值得学习了。原来也看了许多人自己写操作系统,以为多么的牛,后来才知道好多 都是没有创新的,没点突破。更有许多人看到了一滩水就以为见到了整个大海,见到一枝花就真以为见到了世界。博主许多新颖的设计理念,都是值得学习的,只可惜国内的开发环境真的不适合创新,但是一个有毅力,才情,头脑清醒的人,是一定可以找到解决方案的。小弟很愿想博主学习。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics