adit wrote:

> sy juga gi belajar rspec, gi stuck di bagian controllers hiks, masih belum
> paham mocking/stubbing

stub!() dan should_receive() sama-sama fungsinya memberikan ketersediaan 
satu metode pada obyek yang di mock. Perbedaannya adalah:

stub => dia hanya akan mock, jadi kalau kita coba taruh di dalam specify 
block maka benar atau salah dia akan tetap diam.

should_receive() => ini akan bilang, kalau salah, dia akan protes/kasih 
tanda merah/test failed, kalau dia betul, baru dikasih hijau/test sukses.

> punya kode spt ini
> 
> @order_transaction=mock_model(OrderTransaction)

ini pasti karena di bagian inisiasi kelas belum diberikan mock obyek 
yang dibutuhkan:

OrderTransaction.stub!(:find).and_return(@order_transaction)

> OrderTransaction.should_receive(:find).and_return([EMAIL PROTECTED])
> 
> tapi pas di run spec-nya ada error kek gini
> 
> Mock 'Class' expected :find with (any args) once, but received it 0 times

ya, pesan error tsb sungguh sangat jelas, tinggal dibiasakan / liat 
keterangan di bagian atas.


> apakah ini gara2 sy nggak pake fixtures ? atau gmn sih , mock ndak perlu ada
> fixtures kan ?

bila sedang testing controller maka berfokuslah hanya pada controller 
tanpa mengganggu gugat obyek yang berada di model dan view, begitu pula 
bila sedang di model maupun view. jadi tidak ada kaitannya juga dengan 
fixture segala macam.

ada pertanyaan lagi? kalau kurang jelas atau masih error, kesinikan lagi 
codesnya.

-- 
http://www.plurk.com/user/ariekeren
BBN = Balai B**** Nasional

Kirim email ke