我应该å•ç‹¬æµ‹è¯•ä¸è¿”回值的消æ¯å—?

时间:2013-07-01 19:08:20

标签: unit-testing

在Practical Object-Oriented Design in Ruby: An Agile Primer中,作者写é“," [一个对象]负责测试自己的接å£ï¼Œå®ƒé€šè¿‡å¯¹è¿™äº›[ä¼ å…¥]消æ¯è¿”回的结果进行断言æ¥å®žçŽ°ã€‚ ......这些消æ¯éœ€è¦æµ‹è¯•ï¼Œå› ä¸ºå…¶ä»–应用程åºå¯¹è±¡ä¼šåœ¨å…¶ç­¾ååŠå…¶è¿”回的结果上显示。"

她解释说"测试传入消æ¯çš„第一个è¦æ±‚是è¯æ˜Žå®ƒåœ¨æ¯ç§å¯èƒ½çš„情况下都返回正确的值,"将此作为å‡è®¾diameter类的Wheel方法的示例å•å…ƒæµ‹è¯•ï¼š

def test_calculates_diameter
  wheel = Wheel.new(26, 1.5)
  assert_in_delta(29, wheel.diameter, 0.01)
end

我的问题是,那些ä¸ä¼šè¿”回值的传入邮件会怎样?我有一个对象,其公共界é¢åªæœ‰ä¸¤ç§æ–¹æ³•ï¼Œå®ƒä»¬ä¸ä¼šè¿”回值而åªæ˜¯æ›´æ”¹æŽ¥æ”¶å¯¹è±¡çš„状æ€ã€‚我还需è¦æµ‹è¯•é‚£ä¸ªå¯¹è±¡å—?如果是的è¯ï¼Œæ€Žä¹ˆæ ·ï¼Ÿ

1 个答案:

答案 0 :(得分:0)

在输入问题时,我想我已ç»æ„识到答案:使用作者的命å法,我应该测试为å“应传入消æ¯è€Œå‘é€çš„传出“命令â€æ¶ˆæ¯ã€‚ / p>

对于æŸäº›ä¸Šä¸‹æ–‡ï¼Œä½œè€…åŽæ¥å†™é“,“许多传出消æ¯ç¡®å®žæœ‰å‰¯ä½œç”¨ï¼ˆ......观察者采å–的动作),应用程åºä¾èµ–于这些消æ¯ã€‚这些消æ¯æ˜¯å‘½ä»¤ï¼Œå®ƒæ˜¯å‘é€å¯¹è±¡ä»¥è¯æ˜Žä»–们已正确å‘é€çš„å¯å“应性。“

就我而言,我的对象是一个容器,当状æ€å‘生å˜åŒ–时,它会å‘å­è¿›ç¨‹å‘é€æ¶ˆæ¯ï¼Œå› æ­¤å¯¹è±¡çš„测试应该确ä¿å°†è¿™äº›æ¶ˆæ¯å‘é€ç»™å®ƒçš„å­è¿›ç¨‹ã€‚