??xml version="1.0" encoding="utf-8" standalone="yes"?>国严精品久久久久久亚洲影视,99精品在免费线偷拍,国产色视频一区http://www.aygfsteel.com/cerulean/category/20116.htmlzh-cnFri, 19 Oct 2007 09:51:10 GMTFri, 19 Oct 2007 09:51:10 GMT60哪里要测Q用什么测Q?/title><link>http://www.aygfsteel.com/cerulean/archive/2007/03/20/105097.html</link><dc:creator>cerulean</dc:creator><author>cerulean</author><pubDate>Tue, 20 Mar 2007 13:17:00 GMT</pubDate><guid>http://www.aygfsteel.com/cerulean/archive/2007/03/20/105097.html</guid><wfw:comment>http://www.aygfsteel.com/cerulean/comments/105097.html</wfw:comment><comments>http://www.aygfsteel.com/cerulean/archive/2007/03/20/105097.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/cerulean/comments/commentRss/105097.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/cerulean/services/trackbacks/105097.html</trackback:ping><description><![CDATA[ <p>DAO层: JUnit test,需要用dbunit恢复现场; <br />service层:JUnit test,需要用dbunit恢复现场,逻辑更重要些,分支覆盖更重要些; <br />actionQ不做测? <br />seleniumQ做集成试?br />    管有h认ؓstruts action不需要做试Q不q无意中看到strutsTestCaseq个东东,q没有试,用途是试struts的action.觉得比较有用.<br />    其?如果web面交由W三Ҏ(gu)做的?那么单独对actionq行试是十分有必要的.<br />    但是,如果整个webpȝ从前台到后台都是一个team来做,那么个h认ؓq不如跟面一起集成测,毕竟q是真实情况,而且从页面上可视性更?更容易发现问?与此同时,使用脚本录制回放试工具(q没有试q?提高效率.</p> <img src ="http://www.aygfsteel.com/cerulean/aggbug/105097.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/cerulean/" target="_blank">cerulean</a> 2007-03-20 21:17 <a href="http://www.aygfsteel.com/cerulean/archive/2007/03/20/105097.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>试验JMockhttp://www.aygfsteel.com/cerulean/archive/2007/03/20/105094.htmlceruleanceruleanTue, 20 Mar 2007 13:05:00 GMThttp://www.aygfsteel.com/cerulean/archive/2007/03/20/105094.htmlhttp://www.aygfsteel.com/cerulean/comments/105094.htmlhttp://www.aygfsteel.com/cerulean/archive/2007/03/20/105094.html#Feedback0http://www.aygfsteel.com/cerulean/comments/commentRss/105094.htmlhttp://www.aygfsteel.com/cerulean/services/trackbacks/105094.html“jMock利用mock objects思想来对Java codeq行试。jMockh以下特点:Ҏ(gu)扩展Q让你快速简单地定义mock objects,因此不必打破E序间的兌Q你定义灉|的超对象之间交互作用而带来测试局限,减少你测试地脆弱性。?br />
    跟JMock功能cM的还有EasyMock?br />    单试验后的感觉没有试验DBUnit后的感觉强烈,试了DBUnit的感觉是q东西以后一定要?
    但个为mock objectq种东西能不用就不用,模拟来模拟去,最后还是要和真东西联调,所以mock的阶D应该是可能的短才?

使用模仿对象q行试的常用编码样式是Q?/strong>
· 创徏模仿对象的实?
· 讄模仿对象中的状态和期望?
· 模仿对象作为参数来调用域代?
· 验证模仿对象中的一致?/p>

代码中的大概q程Q?br />     Mock mock = new Mock(**.class);//构造一个那个类的mock对象Q把q个cM入Mock
     使用mock.expectsҎ(gu)Q来讄惌执行的操作:执行几次、执行哪个方法、传什么参、返回什么?br />     获得那个mock对象Q?* x = (**)mock.proxy();//proxyҎ(gu)q回代理cd例,卌拟对象实?br />     然后run **.class的那个方法(call methods on the mock object, expectation on it will deliver the result set up by yourselfQ?br />
     写mock-object 试Q需要有独立的接口作为mock的对?从而促q了针对接口~程的习?Q还有个好的副作用:他迫使你来重写一些代码。实际上Q代码常常写的不好。你让类和环境之间生了不必要的耦合?/p>

cerulean 2007-03-20 21:05 发表评论
]]>
DBUnit的?/title><link>http://www.aygfsteel.com/cerulean/archive/2007/03/20/105093.html</link><dc:creator>cerulean</dc:creator><author>cerulean</author><pubDate>Tue, 20 Mar 2007 12:59:00 GMT</pubDate><guid>http://www.aygfsteel.com/cerulean/archive/2007/03/20/105093.html</guid><wfw:comment>http://www.aygfsteel.com/cerulean/comments/105093.html</wfw:comment><comments>http://www.aygfsteel.com/cerulean/archive/2007/03/20/105093.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/cerulean/comments/commentRss/105093.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/cerulean/services/trackbacks/105093.html</trackback:ping><description><![CDATA[ <p>DBUnit扩展自JUnit.在用DBUnit之前,Z验证自己~写的涉及数据库操作Ҏ(gu)的正?每次都要执行一个简单的sql脚本,灌些数据,然后人眼观察着数据表中的数?然后,代码执行完毕?再次观察数据变化情况.久而久?表里面的数据变得杂?一般会全部删除,重新来过.<br />    DBUnit的目标正是保证数据库数据环境的稳定?具备数据库中数据与xml文g之间双向转换的能?<br />试验了一?<br /><br />首先,下蝲dbunit的jar?加入工程卛_.<br /><strong>1.从xml中将数据导入数据库表</strong><br />tc不再l承自TestCase,而是l承DatabaseTestCase<br />覆盖几个Ҏ(gu),包括获得xml文g内容,获得DBq接,以及在setupҎ(gu)和teardownҎ(gu)中调用提供的dbunit操作cd,构徏数据库内数据环境.</p> <p>q时,我以为如果只有几个简单的数据,写xml固然?但想试大数据量?虽然UT主要是测试功能而非性能,但是大数据量也方侉K?有炚w?好在是双向的,可以先把数据用function灌入数据?再导qxml里面:<br /><br /><strong>2.从数据库表数据导入xml文g</strong><br />    用ant+DBUnit来完成这个Q务非常方?</p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">target </span> <span style="COLOR: #ff0000">name</span> <span style="COLOR: #0000ff">="export"</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">taskdef </span> <span style="COLOR: #ff0000">name</span> <span style="COLOR: #0000ff">="dbunit"</span> <span style="COLOR: #ff0000"> classname</span> <span style="COLOR: #0000ff">="org.dbunit.ant.DbUnitTask"</span> <span style="COLOR: #ff0000"> classpathref</span> <span style="COLOR: #0000ff">="compile.path"</span> <span style="COLOR: #ff0000"> </span> <span style="COLOR: #0000ff">/></span> <span style="COLOR: #000000"> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">dbunit </span> <span style="COLOR: #ff0000">driver</span> <span style="COLOR: #0000ff">="com.mysql.jdbc.Driver"</span> <span style="COLOR: #ff0000"> url</span> <span style="COLOR: #0000ff">="jdbc:mysql://127.0.0.1:3306/mydb"</span> <span style="COLOR: #ff0000"> userid</span> <span style="COLOR: #0000ff">="root"</span> <span style="COLOR: #ff0000"> password</span> <span style="COLOR: #0000ff">="root"</span> <span style="COLOR: #ff0000"> supportBatchStatement</span> <span style="COLOR: #0000ff">="true"</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />            </span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">export </span> <span style="COLOR: #ff0000">dest</span> <span style="COLOR: #0000ff">="${test.srcpath}/export.xml"</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">                <br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />                </span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">query </span> <span style="COLOR: #ff0000">name</span> <span style="COLOR: #0000ff">="test_table"</span> <span style="COLOR: #ff0000"> sql</span> <span style="COLOR: #0000ff">="SELECT * FROM test_table"</span> <span style="COLOR: #ff0000"> </span> <span style="COLOR: #0000ff">/></span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        <br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />                </span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">table </span> <span style="COLOR: #ff0000">name</span> <span style="COLOR: #0000ff">="user_table"</span> <span style="COLOR: #ff0000"> </span> <span style="COLOR: #0000ff">/></span> <span style="COLOR: #000000"> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />            </span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">export</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">dbunit</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />    </span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">target</span> <span style="COLOR: #0000ff">></span> </div> <p> <br />    疑问,看到有h说DBUnit在清除数据时,有时不能d,原因是分析不出来外键{表之间的约?因ؓ在试验中采用的数据库里没啥表之间的约?所以还没有体会?<br /><br />    DatabaseTestCasecL供了两个Ҏ(gu)来控制测试前和测试后的数据库状态:getSetUpOperation() ?getTearDownOperation().       <br />    一U高效的实施Ҏ(gu)是让getSetUpOperation()Ҏ(gu)执行REFRESH操作Q通过q个操作,我们可以用种子文件中的数据去更新目标数据库里的数据?br />    接下来,是getTearDownOperation()Q让他去执行一个NONE操作Q也是什么也不执?br />    常用操作Q?br />    DatabaseOperation.CLEAN_INSERT; 先删除表中所有,再插入准备的数据<br />    DatabaseOperation.REFRESH; 使用准备数据更新表,存在则updateQ不存在则insert<br />    DatabaseOperation.DELETE;  只删除准备的数据<br />    DatabaseOperation.NONE;  啥都不做</p> <img src ="http://www.aygfsteel.com/cerulean/aggbug/105093.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/cerulean/" target="_blank">cerulean</a> 2007-03-20 20:59 <a href="http://www.aygfsteel.com/cerulean/archive/2007/03/20/105093.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Integrate Testlink with Mantishttp://www.aygfsteel.com/cerulean/archive/2007/03/11/103156.htmlceruleanceruleanSun, 11 Mar 2007 13:33:00 GMThttp://www.aygfsteel.com/cerulean/archive/2007/03/11/103156.htmlhttp://www.aygfsteel.com/cerulean/comments/103156.htmlhttp://www.aygfsteel.com/cerulean/archive/2007/03/11/103156.html#Feedback0http://www.aygfsteel.com/cerulean/comments/commentRss/103156.htmlhttp://www.aygfsteel.com/cerulean/services/trackbacks/103156.html 前提:testlink已经跟mantis安装在同一个环境下
步骤:
参照http://crystaliris.bokee.com/5588155.htmlQtestlink|站也给Z比较清楚的文档说明?br />1.修改testlink关于interface的配|ؓ"MANTIS"Q如果用别的BTS(Bug Trace System)Q有其他的对应倹{?br />2.修改testlink目录下cfg/mantis.cfg.phpQ如果用别的BTSQ修改其他对应目录下的配|)Q配|一些关于mantis的数据库和url属性?br />3.修改mantis的配|文?打开匿名d,׃匿名d的用户名需要是一个已l存在的真实用户,而我又没在mantis上创建新的用?所以就填写成administrator了?/p>

cerulean 2007-03-11 21:33 发表评论
]]>
scarabhttp://www.aygfsteel.com/cerulean/archive/2007/03/06/102272.htmlceruleanceruleanTue, 06 Mar 2007 14:11:00 GMThttp://www.aygfsteel.com/cerulean/archive/2007/03/06/102272.htmlhttp://www.aygfsteel.com/cerulean/comments/102272.htmlhttp://www.aygfsteel.com/cerulean/archive/2007/03/06/102272.html#Feedback0http://www.aygfsteel.com/cerulean/comments/commentRss/102272.htmlhttp://www.aygfsteel.com/cerulean/services/trackbacks/102272.html环境Qwindows
下蝲scarab-1.0-b20.zip,直接解压卛_.
需要JDK,Ant(或者maven,scarab推荐maven),DB(推荐MySQL)
在解压后的\scarab-1.0-b20目录?创徏build.properties,以指定数据库q接的参?

例如:
scarab.database.type=mysql
scarab.database.name=scarab
scarab.database.jdbc.driver=org.gjt.mm.mysql.Driver
scarab.database.host=localhost
scarab.database.port=3306
scarab.database.username=root
scarab.database.password=root
scarab.database.admin.username=${scarab.database.username}
scarab.database.admin.password=${scarab.database.password}

#发送邮件的邮g服务器也可以写在q里
system.mail.host=smtp.126.com

数据库方?本来想用postgreSQL,l果发现对于scarab来说配置比较Ҏ(gu),于是p了MySQL[见MySQL的那文吧].
数据库配|写好以?q入\scarab-1.0-b20\build\目录,q行ant,对scarabq行构徏?能够看到BUILD SUCCESSFULLY成功啦!!
感觉scarab可以配置的地方很多很?不过配置修改后还是需要重新build?之前遇到q的错误是在写好数据库配置后没有重新build造成?

构徏成功?可以用啦: q入\scarab-1.0-b20\tomcat\bin目录,q行startup.bat,tomcat启动v来了,讉Khttp://localhost:8080/scarab/可以啦?br />
因ؓ很多功能都需要发邮g来协?所以要使用SMTP服务?比方说smtp.126.com,user=realuser,password=realuserpassword

d来说Q觉得scarab界面不是很友好,也不是很观?br />׃一开始邮件服务器不能用,所以直接到数据库中update用户的状态ؓCONFIRMED。这样子成功d后,点击“申h角色”时Q竟然抛出错误了Q不知道是什么原因,无法l箋了,挺郁L?/p>

cerulean 2007-03-06 22:11 发表评论
]]>
eclipse插gcoverlipsehttp://www.aygfsteel.com/cerulean/archive/2007/02/17/100113.htmlceruleanceruleanSat, 17 Feb 2007 06:18:00 GMThttp://www.aygfsteel.com/cerulean/archive/2007/02/17/100113.htmlhttp://www.aygfsteel.com/cerulean/comments/100113.htmlhttp://www.aygfsteel.com/cerulean/archive/2007/02/17/100113.html#Feedback0http://www.aygfsteel.com/cerulean/comments/commentRss/100113.htmlhttp://www.aygfsteel.com/cerulean/services/trackbacks/100113.html coverlipseQ?/strong>[喜欢q种coverlipse,subclipse的插件名字,单明了]

功能Q?/strong>负责昄JUnit试的代码覆盖率?br />
安装Q?/strong>http://coverlipse.sourceforge.net/index.php 下蝲了coverlipse-0.9.5.3.zipQ直接解压到eclipse目录中的相关文g?feature/plugin)?br />
使用Q?/strong>选择run as JUnit w/Coverlipse卛_Q也是q行了JUnit
然后show view中,可以选择:
Coverlipse Markers View    看测试的覆盖?行?
Coverlipse Class View         可以看到包/cȝ的覆盖百分比

通过使用q个单的插Ӟ可以看到JUnitҎ(gu)试类、以及被试cȝ覆盖率,不过比较怀疑在开发过E中能不能真正用hQ毕竟写出完善的UT case的情况还是很的Q可能不能对每一行代码都覆盖到。不q,对于一些重要业务逻辑处理的方法,用coverlipse来看test case寚w辑代码中分支的试覆盖率还是比较有用的吧?br />

注:eclipse->window->customize perspective可以看到一些已l安装的插g?/p> 

cerulean 2007-02-17 14:18 发表评论
]]>
վ֩ģ壺 | | Զ| | | | | | | | | ѳ| | ɽ| | | | | | | | | Ƽ| ƽ| | Դ| | ѷ| ˳| | | ָɽ| ɽ| | ̫| | | | | | |