[問題] Junit如何測試?

看板java作者 (牛牛)時間9年前發表 (2016/06/15 15:53), 9年前編輯推噓1(109)
留言10則, 4人參與, 最新討論串1/1
大家晚安 不好意思打擾大家了 這是我寫的第一個程式碼 https://postimg.org/image/en48xqp5d/ 應為回傳型態是基本型態,所以測試的時候很直覺 先預設一個自己期望的int值,用assertEquals方法就可以作比較了 https://postimg.org/image/k88zst8pz/ 可是當我這樣寫的時候,回傳的是一個參考型態 https://postimg.org/image/gf1ah7rbr/ 我一樣用自己new出一個期望值, 使用assertEquals方法,跟呼叫圖三中的函數做比較 結果就無法做Junit 想請大家解惑一下QQ 小妹在此先謝 通常這個method大家會怎麼做junit的測試 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.161.251.196 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1466006006.A.F82.html ※ 編輯: angelina877 (101.11.17.215), 06/16/2016 00:07:29

06/16 00:51, , 1F
好歹加個條件才好測啊,像是買 Intel 不要出來 AMD 啊..
06/16 00:51, 1F

06/16 00:51, , 2F
單元測試主要是在給定的 input 合乎 spec 描述的 output
06/16 00:51, 2F

06/16 00:52, , 3F
所以,你應該先反問,這需求的期望是什麼。
06/16 00:52, 3F

06/16 08:21, , 4F
希望的結果不就是得到
06/16 08:21, 4F

06/16 08:22, , 5F
CPU c=new AMDCPU的物件
06/16 08:22, 5F

06/16 09:18, , 6F
如果你只是要檢查物件的型別是AMDCPU,那應該是assert
06/16 09:18, 6F

06/16 09:20, , 7F
not null和getClass equals AMDCPU.class
06/16 09:20, 7F

06/16 09:20, , 8F
assert equal一個另外new出來的物件不會是希望的結果吧
06/16 09:20, 8F

06/18 08:18, , 9F
assertTrue( r instanceof AMDCPU );
06/18 08:18, 9F

06/19 21:34, , 10F
謝謝大家提供方法,我順利測試成功了
06/19 21:34, 10F
文章代碼(AID): #1NONds-2 (java)
文章代碼(AID): #1NONds-2 (java)