??xml version="1.0" encoding="utf-8" standalone="yes"?>国严精品久久久久久亚洲影视,99精品在免费线偷拍,国产色视频一区 http://www.aygfsteel.com/cerulean/category/20116.htmlzh-cn Fri, 19 Oct 2007 09:51:10 GMT Fri, 19 Oct 2007 09:51:10 GMT 60 哪里要测Q用什么测Q?/title> http://www.aygfsteel.com/cerulean/archive/2007/03/20/105097.htmlcerulean cerulean Tue, 20 Mar 2007 13:17:00 GMT http://www.aygfsteel.com/cerulean/archive/2007/03/20/105097.html http://www.aygfsteel.com/cerulean/comments/105097.html http://www.aygfsteel.com/cerulean/archive/2007/03/20/105097.html#Feedback 0 http://www.aygfsteel.com/cerulean/comments/commentRss/105097.html http://www.aygfsteel.com/cerulean/services/trackbacks/105097.html DAO层: JUnit test,需要用dbunit恢复现场; service层:JUnit test,需要用dbunit恢复现场,逻辑更重要些,分支覆盖更重要些; actionQ不做测? seleniumQ做集成试?br /> 管有h认ؓstruts action不需要做试Q不q无意中看到strutsTestCaseq个东东,q没有试,用途是试struts的action.觉得比较有用. 其?如果web面交由W三Ҏ(gu)做的?那么单独对actionq行试是十分有必要的. 但是,如果整个webpȝ从前台到后台都是一个team来做,那么个h认ؓq不如跟面一起集成测,毕竟q是真实情况,而且从页面上可视性更?更容易发现问?与此同时,使用脚本录制回放试工具(q没有试q?提高效率.
]]>试验JMock http://www.aygfsteel.com/cerulean/archive/2007/03/20/105094.htmlcerulean cerulean Tue, 20 Mar 2007 13:05:00 GMT http://www.aygfsteel.com/cerulean/archive/2007/03/20/105094.html http://www.aygfsteel.com/cerulean/comments/105094.html http://www.aygfsteel.com/cerulean/archive/2007/03/20/105094.html#Feedback 0 http://www.aygfsteel.com/cerulean/comments/commentRss/105094.html http://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>
]]> DBUnit的?/title> http://www.aygfsteel.com/cerulean/archive/2007/03/20/105093.htmlcerulean cerulean Tue, 20 Mar 2007 12:59:00 GMT http://www.aygfsteel.com/cerulean/archive/2007/03/20/105093.html http://www.aygfsteel.com/cerulean/comments/105093.html http://www.aygfsteel.com/cerulean/archive/2007/03/20/105093.html#Feedback 0 http://www.aygfsteel.com/cerulean/comments/commentRss/105093.html http://www.aygfsteel.com/cerulean/services/trackbacks/105093.html DBUnit扩展自JUnit.在用DBUnit之前,Z验证自己~写的涉及数据库操作Ҏ(gu)的正?每次都要执行一个简单的sql脚本,灌些数据,然后人眼观察着数据表中的数?然后,代码执行完毕?再次观察数据变化情况.久而久?表里面的数据变得杂?一般会全部删除,重新来过. DBUnit的目标正是保证数据库数据环境的稳定?具备数据库中数据与xml文g之间双向转换的能? 试验了一? 首先,下蝲dbunit的jar?加入工程卛_.1.从xml中将数据导入数据库表 tc不再l承自TestCase,而是l承DatabaseTestCase 覆盖几个Ҏ(gu),包括获得xml文g内容,获得DBq接,以及在setupҎ(gu)和teardownҎ(gu)中调用提供的dbunit操作cd,构徏数据库内数据环境.
q时,我以为如果只有几个简单的数据,写xml固然?但想试大数据量?虽然UT主要是测试功能而非性能,但是大数据量也方侉K?有炚w?好在是双向的,可以先把数据用function灌入数据?再导qxml里面:2.从数据库表数据导入xml文g 用ant+DBUnit来完成这个Q务非常方?
<
target
name
="export"
>
<
taskdef
name
="dbunit"
classname
="org.dbunit.ant.DbUnitTask"
classpathref
="compile.path"
/>
<
dbunit
driver
="com.mysql.jdbc.Driver"
url
="jdbc:mysql://127.0.0.1:3306/mydb"
userid
="root"
password
="root"
supportBatchStatement
="true"
>
<
export
dest
="${test.srcpath}/export.xml"
>
<
query
name
="test_table"
sql
="SELECT * FROM test_table"
/>
<
table
name
="user_table"
/>
</
export
>
</
dbunit
>
</
target
>
疑问,看到有h说DBUnit在清除数据时,有时不能d,原因是分析不出来外键{表之间的约?因ؓ在试验中采用的数据库里没啥表之间的约?所以还没有体会? DatabaseTestCasecL供了两个Ҏ(gu)来控制测试前和测试后的数据库状态:getSetUpOperation() ?getTearDownOperation(). 一U高效的实施Ҏ(gu)是让getSetUpOperation()Ҏ(gu)执行REFRESH操作Q通过q个操作,我们可以用种子文件中的数据去更新目标数据库里的数据?br /> 接下来,是getTearDownOperation()Q让他去执行一个NONE操作Q也是什么也不执?br /> 常用操作Q?br /> DatabaseOperation.CLEAN_INSERT; 先删除表中所有,再插入准备的数据 DatabaseOperation.REFRESH; 使用准备数据更新表,存在则updateQ不存在则insert DatabaseOperation.DELETE; 只删除准备的数据 DatabaseOperation.NONE; 啥都不做
]]> Integrate Testlink with Mantis http://www.aygfsteel.com/cerulean/archive/2007/03/11/103156.htmlcerulean cerulean Sun, 11 Mar 2007 13:33:00 GMT http://www.aygfsteel.com/cerulean/archive/2007/03/11/103156.html http://www.aygfsteel.com/cerulean/comments/103156.html http://www.aygfsteel.com/cerulean/archive/2007/03/11/103156.html#Feedback 0 http://www.aygfsteel.com/cerulean/comments/commentRss/103156.html http://www.aygfsteel.com/cerulean/services/trackbacks/103156.html
前提: testlink已经跟mantis安装在同一个环境下步骤: 参照http://crystaliris.bokee.com/5588155.html Qtestlink|站也给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>
]]> scarab http://www.aygfsteel.com/cerulean/archive/2007/03/06/102272.htmlcerulean cerulean Tue, 06 Mar 2007 14:11:00 GMT http://www.aygfsteel.com/cerulean/archive/2007/03/06/102272.html http://www.aygfsteel.com/cerulean/comments/102272.html http://www.aygfsteel.com/cerulean/archive/2007/03/06/102272.html#Feedback 0 http://www.aygfsteel.com/cerulean/comments/commentRss/102272.html http://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>
]]> eclipse插gcoverlipse http://www.aygfsteel.com/cerulean/archive/2007/02/17/100113.htmlcerulean cerulean Sat, 17 Feb 2007 06:18:00 GMT http://www.aygfsteel.com/cerulean/archive/2007/02/17/100113.html http://www.aygfsteel.com/cerulean/comments/100113.html http://www.aygfsteel.com/cerulean/archive/2007/02/17/100113.html#Feedback 0 http://www.aygfsteel.com/cerulean/comments/commentRss/100113.html http://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> ]]>
վ֩ģ壺
|
齭 |
Զ |
|
|
|
躣 |
|
|
|
|
ѳ |
|
ɽ |
|
|
|
|
|
|
|
|
Ƽ |
ƽ |
|
Դ |
|
ѷ |
˳ |
|
|
ָɽ |
ɽ |
|
̫ |
|
|
|
|
|
|