锁定老帖子 主题:mock框架搞什么搞?
该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-05-12
raimundox 写道 taowen 写道 用真实的view来测,用mock框架造一个来测,自己手写一个假的来测。三者没有谁推出谁的关系。我只是要说明一,在这里用MVP没有你说的过度设计的问题。二,这里用mock框架很笨拙。
对于你提到的设计步骤的问题。我同意你的看法。下次写代码的时候会注意用小步骤前进。最终的view接口是这样的没有什么问题吧?难道小步骤TDD会出现另外一个版本的view接口? 呵呵,我没说MVP是过渡设计,我说的是View interface...毕竟我受不了上来就一个接口...怎么也得有两个实现类吧... 两个实现类是有的啊。一个是真实的View。一个是测试用的View。 |
|
返回顶楼 | |
发表时间:2007-05-12
raimundox 写道 taowen 写道 view是如何得出来的,不是本帖的重点。我当然可以把你所说的两个步骤给隐匿掉。
哎...过程是重要的...没有过程就看出不来哪里做了决策,也就没有办法理解你这里为啥要用mock。如果按我上面列出的过程,看不出有用mock的必要,因此也就不用指责什么了。 个人意见觉得这里你硬说是mock的复杂有点论据不足。 复杂的论据有: Mockery mockery = new Mockery(); 完全是为了mock框架引入的代码,什么是Mockery? mockery.checking(new Expectations() { { ... } }); 匿名类加静态构造函数?这是表达何意思? actionListenerMatcher.fireActionPerformed(); 为什么要去一个Matcher上触发一个事件。Matcher,顾名思义,那是用来检查参数是否匹配的啊。 所以说,你是对的。这里没有必要用mock框架。但是这里确实有必要造一个假的,而不是用真的view来测试。所以这里需要用mock框架之外的办法来造假的。 |
|
返回顶楼 | |
发表时间:2007-05-12
taowen 写道 raimundox 写道 taowen 写道 view是如何得出来的,不是本帖的重点。我当然可以把你所说的两个步骤给隐匿掉。
哎...过程是重要的...没有过程就看出不来哪里做了决策,也就没有办法理解你这里为啥要用mock。如果按我上面列出的过程,看不出有用mock的必要,因此也就不用指责什么了。 个人意见觉得这里你硬说是mock的复杂有点论据不足。 复杂的论据有: Mockery mockery = new Mockery(); 完全是为了mock框架引入的代码,什么是Mockery? mockery.checking(new Expectations() { { ... } }); 匿名类加静态构造函数?这是表达何意思? actionListenerMatcher.fireActionPerformed(); 为什么要去一个Matcher上触发一个事件。Matcher,顾名思义,那是用来检查参数是否匹配的啊。 所以说,你是对的。这里没有必要用mock框架。但是这里确实有必要造一个假的,而不是用真的view来测试。所以这里需要用mock框架之外的办法来造假的。 如果造个假的,问题是这个工作量具体如何呢? 如果是一个简单的仿造监听器注册器的stub,那似乎还可以接受,不过TDD开始的,针对这个需求,或许很多人写出的测试代码都可能如下: view.clickButton(); assertEquals("hello",view.getFieldText()); 不知道view的stub需要迎合多少这样的需求? |
|
返回顶楼 | |
发表时间:2007-05-16
走路和开车上楼梯,骂车没有人快。。。。
|
|
返回顶楼 | |