﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-patsYang</title><link>http://www.blogjava.net/patsYang/</link><description /><language>zh-cn</language><lastBuildDate>Thu, 30 Apr 2026 08:16:55 GMT</lastBuildDate><pubDate>Thu, 30 Apr 2026 08:16:55 GMT</pubDate><ttl>60</ttl><item><title>EasyMock简单用</title><link>http://www.blogjava.net/patsYang/archive/2007/10/05/150559.html</link><dc:creator>patsYang</dc:creator><author>patsYang</author><pubDate>Fri, 05 Oct 2007 07:33:00 GMT</pubDate><guid>http://www.blogjava.net/patsYang/archive/2007/10/05/150559.html</guid><wfw:comment>http://www.blogjava.net/patsYang/comments/150559.html</wfw:comment><comments>http://www.blogjava.net/patsYang/archive/2007/10/05/150559.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/patsYang/comments/commentRss/150559.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/patsYang/services/trackbacks/150559.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在实际编写<font face="Times New Roman">unit test</font><span style="font-family: 宋体">的过程中，很多情况下我们会需要使用其他的组件（如和数据库相关的测试）。当我们是使用第三方提供的组件时，这并不是太大的问题，因为我们可以假设他们是无错的。但是一旦这些组件是我们自己的组件时，问题就暴露出来了。</span> </p>
<p style="margin: 0cm 0cm 0pt; text-indent: 21pt"><span style="font-family: 宋体"><font size="3">&#8220;单元测试出错了，但到底是谁的错。我的？他的？&#8221;，这种情况显然违反了<span style="color: blue">测试的独立性原则</span>。出现这种情况使得这个测试无法确切的指出是那个单元出现了问题，照成了排错的困难，而且也浪费了时间。同时，过分的将单元的测试代码依赖于其他单元，也照成了其他一些很现实的问题：</font></span></p>
<p style="margin: 0cm 0cm 0pt 39pt; text-indent: -18pt; tab-stops: list 39.0pt"><font size="3"><span style="font-family: 宋体">在所依赖的单元完成之前，无法顺利的编写单元测试。</span></font></p>
<p style="margin: 0cm 0cm 0pt 39pt; text-indent: -18pt; tab-stops: list 39.0pt"><font size="3"><span style="font-family: 宋体">产生环境的依赖性，如运行一个</span><font face="Times New Roman">HttpServletRequest</font><span style="font-family: 宋体">处理器的测试代码必须启动一个</span><font face="Times New Roman">servlet</font><span style="font-family: 宋体">容器。</span></font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 21pt"><font size="3"><span style="font-family: 宋体">所有这些问题，都可以使用</span><font face="Times New Roman">Mock Object</font><span style="font-family: 宋体">来解决。使用它的前提是，所依赖单元的接口必须定义清楚。而</span><font face="Times New Roman">EasyMock</font><span style="font-family: 宋体">正是为了这一目的而产生的。</span></font></p>
<p style="margin: 13pt 0cm"><span style="font-family: 黑体"><font size="3">使用目的</font></span></p>
<p style="margin: 0cm 0cm 0pt"><font size="3"><font face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><span style="font-family: 宋体">通过模拟</span><font face="Times New Roman">unit test</font><span style="font-family: 宋体">所需要的组件，已达到隔离各个</span><font face="Times New Roman">unit test</font><span style="font-family: 宋体">的目的。目前的版本</span><font face="Times New Roman">1.1</font><span style="font-family: 宋体">，它所需要的环境是</span><font face="Times New Roman">jdk1.3.1</font><span style="font-family: 宋体">以上和</span><font face="Times New Roman">junit3.8.1</font><span style="font-family: 宋体">以上。</span></font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 21pt"><font size="3"><span style="font-family: 宋体">可以从</span><a href="http://sourceforge.net/projects/easymock/"><font face="Times New Roman">http://sourceforge.net/projects/easymock/</font></a><span style="font-family: 宋体">处下载。</span></font></p>
<p style="margin: 13pt 0cm"><span style="font-family: 黑体"><font size="3">用法</font></span></p>
<p style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><font size="3"><font face="Times New Roman">1.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>EasyMock</font><span style="font-family: 宋体">采用&#8220;记录</span><font face="Times New Roman">-----</font><span style="font-family: 宋体">回放&#8221;的工作模式，基本使用步骤：</span></font></p>
<p style="margin: 0cm 0cm 0pt 39pt; text-indent: -18pt; tab-stops: list 39.0pt"><font size="3"><font face="Times New Roman">-<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span><span style="font-family: 宋体">创建</span><font face="Times New Roman">Mock</font><span style="font-family: 宋体">对象的控制对象</span><font face="Times New Roman">Control</font><span style="font-family: 宋体">。</span></font></p>
<p style="margin: 0cm 0cm 0pt 39pt; text-indent: -18pt; tab-stops: list 39.0pt"><font size="3"><font face="Times New Roman">-<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span><span style="font-family: 宋体">从控制对象中获取所需要的</span><font face="Times New Roman">Mock</font><span style="font-family: 宋体">对象。</span></font></p>
<p style="margin: 0cm 0cm 0pt 39pt; text-indent: -18pt; tab-stops: list 39.0pt"><font size="3"><font face="Times New Roman">-<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span><span style="font-family: 宋体">记录测试方法中所使用到的方法和返回值。</span></font></p>
<p style="margin: 0cm 0cm 0pt 39pt; text-indent: -18pt; tab-stops: list 39.0pt"><font size="3"><font face="Times New Roman">-<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span><span style="font-family: 宋体">设置</span><font face="Times New Roman">Control</font><span style="font-family: 宋体">对象到&#8220;回放&#8221;模式。</span></font></p>
<p style="margin: 0cm 0cm 0pt 39pt; text-indent: -18pt; tab-stops: list 39.0pt"><font size="3"><font face="Times New Roman">-<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span><span style="font-family: 宋体">进行测试。</span></font></p>
<p style="margin: 0cm 0cm 0pt 39pt; text-indent: -18pt; tab-stops: list 39.0pt"><font size="3"><font face="Times New Roman">-<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span><span style="font-family: 宋体">在测试完毕后，确认</span><font face="Times New Roman">Mock</font><span style="font-family: 宋体">对象已经执行了刚才定义的所有操作。</span></font></p>
<p style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><font size="3"><font face="Times New Roman">2.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span><span style="font-family: 宋体">使用举例：假设需要测试的对象是</span><font face="Times New Roman">RequestUtil</font><span style="font-family: 宋体">，所需要测试的方法为</span><font face="Times New Roman">getBoolean</font><span style="font-family: 宋体">。此时我们需要模拟一个</span><font face="Times New Roman">HttpServletRequest</font><span style="font-family: 宋体">对象。</span></font></p>
<p style="margin: 0cm 0cm 0pt 18pt"><font face="Times New Roman" size="3">public void testGetStringHttpServletRequestString() {</font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 42pt"><font face="Times New Roman" size="3">public void testGetBoolean() {</font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 42pt"><font size="3"><font face="Times New Roman">&nbsp;&nbsp; //</font><span style="color: blue; font-family: 宋体">创建</span><span style="color: blue"><font face="Times New Roman">Mock</font></span><span style="color: blue; font-family: 宋体">对象的控制器</span></font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 42pt"><font face="Times New Roman"><font size="3">&nbsp;&nbsp; MockControl &nbsp;control= MockControl.createControl( HttpServletRequest.class);</font></font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 42pt"><font size="3"><font face="Times New Roman">&nbsp;&nbsp; //</font><span style="color: blue; font-family: 宋体">获取</span><span style="color: blue"><font face="Times New Roman">Mock</font></span><span style="color: blue; font-family: 宋体">对象</span></font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 42pt"><font face="Times New Roman"><font size="3">&nbsp;&nbsp; HttpServletRequest &nbsp;mock= (HttpServletRequest)control.getMock();</font></font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 42pt"><font size="3"><font face="Times New Roman">&nbsp;&nbsp; //</font><span style="color: blue; font-family: 宋体">设置</span><span style="color: blue"><font face="Times New Roman">getBoolean</font></span><span style="color: blue; font-family: 宋体">中要使用的方法和返回值</span></font></p>
<p style="margin: 0cm 0cm 0pt 17.95pt; text-indent: 42pt"><font face="Times New Roman" size="3">control.expectAndReturn( mock.getParameter( "test"), null);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font size="3"><font face="Times New Roman">//</font><span style="color: blue; font-family: 宋体">设置控制器为</span><span style="color: blue"><font face="Times New Roman">replay</font></span><span style="color: blue; font-family: 宋体">模式</span></font></p>
<p style="margin: 0cm 0cm 0pt 18pt"><font face="Times New Roman"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; control.replay();</font></font></p>
<p style="margin: 0cm 0cm 0pt 18pt"><font size="3"><font face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //</font><span style="color: blue; font-family: 宋体">执行测试</span></font></p>
<p style="margin: 0cm 0cm 0pt 18pt"><font face="Times New Roman"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assertNull( RequestUtil.getString( mock, "test"));</font></font></p>
<p style="margin: 0cm 0cm 0pt 18pt"><font size="3"><font face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //</font><span style="color: blue; font-family: 宋体">确认</span></font></p>
<p style="margin: 0cm 0cm 0pt 18pt"><font face="Times New Roman"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; control.verify();</font></font></p>
<p style="margin: 0cm 0cm 0pt 18pt"><font face="Times New Roman"><font size="3">&nbsp;&nbsp;&nbsp; }</font></font></p>
<p style="margin: 0cm 0cm 0pt 18pt"><font face="Times New Roman" size="3">}</font></p>
<p style="margin: 0cm 0cm 0pt 18pt"><font size="3"><span style="font-family: 宋体">&nbsp;&nbsp;&nbsp;&nbsp;通过</span><font face="Times New Roman">EasyMock</font><span style="font-family: 宋体">，执行这段测试代码完全不需要启动一个</span><font face="Times New Roman">servlet</font><span style="font-family: 宋体">容器，在命令行的方式下即可完成，非常的方便。</span></font></p>
<p style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><font size="3"><font face="Times New Roman">3.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span><span style="font-family: 宋体">记录需要使用的</span><font face="Times New Roman">Mock</font><span style="font-family: 宋体">的行为。在使用一个</span><font face="Times New Roman">Mock</font><span style="font-family: 宋体">对象之前，需要设置我们要用到的方法，以及每个方法的返回值。对于那些没有设置的方法，一旦调用（控制器处于</span><font face="Times New Roman">replay</font><span style="font-family: 宋体">模式），</span><font face="Times New Roman">EasyMock</font><span style="font-family: 宋体">就会抛出异常。记录一个方法，通常可以分成</span><strong><font face="Times New Roman">2</font></strong><strong><span style="font-family: 宋体">步</span></strong><span style="font-family: 宋体">：首先，如同使用正常对象调用这个方法；然后，使用控制器的</span><font face="Times New Roman">setReturnValue</font><span style="font-family: 宋体">函数设置即可。在</span><font face="Times New Roman">1.1</font><span style="font-family: 宋体">中，提供了</span><font face="Times New Roman">expectAndReturn</font><span style="font-family: 宋体">函数，使得</span><font face="Times New Roman">2</font><span style="font-family: 宋体">步可以合而为一。主要的函数大致如下：</span></font></p>
<p style="margin: 0cm 0cm 0pt 39pt; text-indent: -18pt; tab-stops: list 39.0pt"><font size="3"><font face="Times New Roman">-<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>expectAndReturn</font><span style="font-family: 宋体">，设置期望调用的函数，以及返回值</span></font></p>
<p style="margin: 0cm 0cm 0pt 39pt; text-indent: -18pt; tab-stops: list 39.0pt"><font size="3"><font face="Times New Roman">-<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>expectAndThrow</font><span style="font-family: 宋体">，设置期望调用的函数，同时期望该次调用抛出异常</span></font></p>
<p style="margin: 0cm 0cm 0pt 39pt; text-indent: -18pt; tab-stops: list 39.0pt"><font size="3"><font face="Times New Roman">-<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>setReturnValue</font><span style="font-family: 宋体">，设置上一次调用的返回值（如上次调用时，</span><font face="Times New Roman">request.getparameter( &#8220;test&#8221;)</font><span style="font-family: 宋体">，此处设置</span><font face="Times New Roman">request.getparameter( &#8220;test&#8221;)</font><span style="font-family: 宋体">的返回值）</span></font></p>
<p style="margin: 0cm 0cm 0pt 39pt; text-indent: -18pt; tab-stops: list 39.0pt"><font size="3"><font face="Times New Roman">-<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>setThrowable</font><span style="font-family: 宋体">，设置上次调用抛出的异常</span></font></p>
<p style="margin: 0cm 0cm 0pt 21pt"><font size="3"><span style="font-family: 宋体">在</span><font face="Times New Roman">EasyMock</font><span style="font-family: 宋体">中还可以设置调用所执行的次数，具体细节请参见对应的</span><font face="Times New Roman">javaDoc</font><span style="font-family: 宋体">。</span></font></p>
<p style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><font size="3"><font face="Times New Roman">4.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span><span style="font-family: 宋体">使用举例：</span></font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 18pt"><font face="Times New Roman" size="3">MockControl &nbsp;control= MockControl.createControl( HttpServletRequest.class);</font></p>
<p style="margin: 0cm 0cm 0pt 18pt"><font face="Times New Roman" size="3">HttpServletRequest &nbsp;mock= (HttpServletRequest)control.getMock();</font></p>
<p style="margin: 0cm 0cm 0pt 18pt"><font face="Times New Roman" size="3">mock.getParameter( "test");</font></p>
<p style="margin: 0cm 0cm 0pt 18pt"><font size="3"><span style="color: blue"><font face="Times New Roman">//</font></span><span style="color: blue; font-family: 宋体">设置第一次调用</span><span style="color: blue"><font face="Times New Roman">request.getParameter</font></span><span style="color: blue; font-family: 宋体">的返回值</span></font></p>
<p style="margin: 0cm 0cm 0pt 18pt"><font face="Times New Roman" size="3">control.setReturnValue( null, 1);</font></p>
<p style="margin: 0cm 0cm 0pt 18pt"><font size="3"><span style="color: blue"><font face="Times New Roman">//</font></span><span style="color: blue; font-family: 宋体">设置第二次调用</span><span style="color: blue"><font face="Times New Roman">request.getParameter</font></span><span style="color: blue; font-family: 宋体">的返回值</span></font></p>
<p style="margin: 0cm 0cm 0pt 18pt"><font face="Times New Roman" size="3">control.setReturnValue("this is a test", 1); </font></p>
<p style="margin: 0cm 0cm 0pt 18pt"><font face="Times New Roman" size="3">control.replay();</font></p>
<p style="margin: 0cm 0cm 0pt 18pt"><font face="Times New Roman" size="3">assertEquals( RequestUtil.getString( mock, "test", "haha"), "haha");</font></p>
<p style="margin: 0cm 0cm 0pt 18pt"><font face="Times New Roman" size="3">assertEquals( RequestUtil.getString( mock, "test"), "this is a test");</font></p>
<p style="margin: 0cm 0cm 0pt 18pt"><font face="Times New Roman" size="3">control.verify();</font></p>
<p style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><font size="3"><font face="Times New Roman">5.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span><span style="font-family: 宋体">在</span><font face="Times New Roman">Mock</font><span style="font-family: 宋体">对象使用结束后，务必调用控制器的</span><font face="Times New Roman">verify</font><span style="font-family: 宋体">函数，以确认</span><font face="Times New Roman">Mock</font><span style="font-family: 宋体">对象的方法得到了调用。</span></font></p>
<p style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><font size="3"><font face="Times New Roman">6.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span><span style="font-family: 宋体">调用方法的次序，使用</span><font face="Times New Roman">Strict</font><span style="font-family: 宋体">。有时，测试代码依赖于被依赖组件的方法的次序。如在测试与数据库相关代码时，测试代码很有可能是这样的次序：先打开数据库链接，执行操作，关闭链接。为了更好的测试这样的代码，可以使用</span><span style="color: blue"><font face="Times New Roman">MockControl.createStrictControl()</font></span><span style="font-family: 宋体">来创建一个严格的</span><font face="Times New Roman">Mock</font><span style="font-family: 宋体">对象控制器，在其中，他会规定</span><font face="Times New Roman">Mock</font><span style="font-family: 宋体">出来的对象的调用次序。</span></font></p>
<p style="margin: 0cm 0cm 0pt 18pt"><font size="3"><span style="font-family: 宋体">以上是</span><font face="Times New Roman">EasyMock</font><span style="font-family: 宋体">的主要使用，至于其他的用法，请参见具体的文档。</span></font></p>
<p style="margin: 13pt 0cm"><span style="font-family: 黑体"><font size="3">PS：</font></span><font size="3"><span style="font-size: 10.5pt; font-family: 宋体">当自己动手实现</span><span style="font-size: 10.5pt; font-family: 'Times New Roman'">Mock</span><span style="font-size: 10.5pt; font-family: 宋体">对象时，不要在</span><span style="font-size: 10.5pt; font-family: 'Times New Roman'">Mock</span><span style="font-size: 10.5pt; font-family: 宋体">对象中实现业务逻辑。</span></font></p>
<img src ="http://www.blogjava.net/patsYang/aggbug/150559.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/patsYang/" target="_blank">patsYang</a> 2007-10-05 15:33 <a href="http://www.blogjava.net/patsYang/archive/2007/10/05/150559.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>难道我们真的只是做我们应该做的吗？</title><link>http://www.blogjava.net/patsYang/archive/2007/01/17/patsYang_2007_01_17.html</link><dc:creator>patsYang</dc:creator><author>patsYang</author><pubDate>Wed, 17 Jan 2007 12:57:00 GMT</pubDate><guid>http://www.blogjava.net/patsYang/archive/2007/01/17/patsYang_2007_01_17.html</guid><wfw:comment>http://www.blogjava.net/patsYang/comments/94497.html</wfw:comment><comments>http://www.blogjava.net/patsYang/archive/2007/01/17/patsYang_2007_01_17.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/patsYang/comments/commentRss/94497.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/patsYang/services/trackbacks/94497.html</trackback:ping><description><![CDATA[我不知道自己是怎么回事！也不知道到底是因为什么！我的生活永远都是悲喜交加的！也许一天中就能发生许多的变化！而且也习惯了今天站在很高的地方！明天就摔得很惨！但是自己又是总喜欢说喜欢追求刺激的生活！但我最近我才发现,原来我所追求的生活是天天有追求有收获的！我可能害怕承担责任，但是我又想去承担很多的责任！因为在我看来，只要是领导交给我任务，就代表对我的信任！那么我会尽最大努力去做好！不知道是怎么回事！虽说刚刚上班没有多长时间！我也不知道这样算好算坏！我会把现在做的项目当成自己的事情！哪个地方出了问题！我可以很少睡觉！只是想不辜负任何人！但是我又知道在工作中结果比过程重要的多！所以我很失望，也很难受！很多的事情没有成功，我不知道是我错还是领导有问题！我并不是想追究责任，我只是不想当一件事情失败的时候，我所有的努力都不会再被看到！我可以以身体为代价来完成我的努力！只是为了想把事情做好！真的只是想能为领导分担些事情！但是当我真的抗不住的时候！我又能怎么办呢！也许工作中本不应该去努力替他人分担什么的！总之今天领导说了一句让我很是失望的话！也许可以说是有些伤心吧！所以我想我只做我能做的！做我应该做的！<img src ="http://www.blogjava.net/patsYang/aggbug/94497.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/patsYang/" target="_blank">patsYang</a> 2007-01-17 20:57 <a href="http://www.blogjava.net/patsYang/archive/2007/01/17/patsYang_2007_01_17.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>my heart</title><link>http://www.blogjava.net/patsYang/archive/2006/12/27/patsYang.html</link><dc:creator>patsYang</dc:creator><author>patsYang</author><pubDate>Wed, 27 Dec 2006 14:28:00 GMT</pubDate><guid>http://www.blogjava.net/patsYang/archive/2006/12/27/patsYang.html</guid><wfw:comment>http://www.blogjava.net/patsYang/comments/90391.html</wfw:comment><comments>http://www.blogjava.net/patsYang/archive/2006/12/27/patsYang.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/patsYang/comments/commentRss/90391.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/patsYang/services/trackbacks/90391.html</trackback:ping><description><![CDATA[   刚刚出来工作！连自己都不知道为什么能进入这家公司！不过我的确很是高兴！我真的是一直都在努力！现在正在出差！每天都要工作到11点多！也有很多时候是要通宵！不过我很开心！因为我现在过得很是充实！而且我也想来证明自己！我想用我的行动告诉公司的所有人！虽然我现在不是很强！但是我很努力！我会去努力的学习！我一定会在公司中成为重要的角色！<br />   现在工作这边只有我一个人！很多事情都在我的身上！这几天几乎就没有怎么睡觉！我唯一想做的就是能够把事情做好！可是真的是遇到了很多困难！每天写工作日志的时候都不知道应该如何去写！因为这几天工作日志几乎就是一样的！不是怕领导会说什么！只不过真的觉得自己很没用啊！(只是发泄！觉得没有泄气！哈哈！)真的觉得自己好让人失望啊！呵呵！现在又要写工作日报了！调节一下自己！完了继续开工了！我会告诉自己！尽最大的努力！做好自己的事情！虽然工作讲求效率！虽然我有很多的不会！但是至少我是尽力的！我做到无愧于心！我想就够了！<br />   我会继续努力！因为　大丈夫！横行天下！<img src ="http://www.blogjava.net/patsYang/aggbug/90391.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/patsYang/" target="_blank">patsYang</a> 2006-12-27 22:28 <a href="http://www.blogjava.net/patsYang/archive/2006/12/27/patsYang.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>