Dear id-ruby@yahoogroups.com,

waduh maaf mas-mas, kita yang pemula belajar buat website pake
RoR, jadi bingung nih, dengan informasi-informasi dibawah,
sepertinya kita makin tambah bingung ..... :(, terutama buat saya
sendiri .... :)

Wass.Wr.Wb.

Riyan Sugara                           
mailto:[EMAIL PROTECTED]
______________________ Reply Separator ______________________

-----Original Message-----
 From   : Arie Kusuma Atmaja, [EMAIL PROTECTED]
 Sent   : Thursday, October 18, 2007, 10:47:50 PM, 
 To     : id-ruby@yahoogroups.com
 Cc     : 
 Subject: [id-ruby] [Fwd: Re: [rspec-users] Any tips on teaching BDD with 
RSpec?]
 
Andry S Huzain wrote:

> 'Rie,
> Terus terang saya masih kurang begiru ngerti dengan rspec (dan BDD). Saya
> faham bahwa ini salah satu implementasi DSL, .... tapi bahasa manusia
> (English) apa nggak terlalu 'verbose' dan 'tedious' buat coding?

short answer: no

long answer: read the rest of my reply.

For the first time I saw rspec, I was skeptics as well like you # even more.
refer to my blog.

But the more I write code, the more I need BDD + geek/hacker usil (ini yg susah 
dicari berhubung mayoritas yg pernah ketemu kok ya pada pemalu & tentu sulit 
dihubungi, they'll find me, not I'll find them, oh well anyway)

> Example-nya memang cool (http://rspec.rubyforge.org/examples.html 
> <http://rspec.rubyforge.org/examples.html>). Tapi
> penggunaan English grammar kan jauh lebih banyak variasi ketimbang Ruby
> grammar. OK, Rails punya monkeypatch: Inflector.rb, tapi itu kan hanya
> berlaku untuk konteks "kata" doank (camelize, humanize, pluralize,
> ordinalize, dll).
> 
> Misal kita ingin bilang "I'm a cat". Ini gampang:
> 
> me = Cat.New
> 
> Gimana kalo mau bilang "I was a cat"?
> 
> Kalo kita ngobrolin tentang "perilaku", tentu ga bisa lepas dari contraint
> waktu kan?
> 
> Satu-satunya yang menarik dari RSpec, lagi-lagi dari example, adanya "hook"
> seperti #before dan #after. Tapi oh tapi, bukannya kita bisa simulate efek
> serupa dengan sedikit code di constructor/destructor doank?
> (Kalau di bahasa analisisnya (i.e: Use Case Analysis) #before itu
> "precondition" dan #after adalah "postcondition").
> 
> Yang saya rasa kurang, RSpec kok nggak menjelaskan/menggambarkan bagaimana
> mekanisme Event (atau Callbacks). IMO, event itu cornerstone dari bagaimana
> merancang perilaku sebuah object. Baik event yang berupa State Transition
> objek ybs ataupun event yang tugasnya menotifikasi objek2 lain (e.g:
> Observer Pattern).
> 
> Gimana Rie? Bingung deh saya.
> Kayaknya RSpec ini cool. Tapi kapan kita harus pakai, saya nggak tau.
> Dan meskipun harus pakai, kok perasaan ini berkata bahwa saya bisa "achieve
> similar effects" tanpa RSpec. Cukup gambar sketch Class Diagram,
> Collaboration/Sequence Diagram, dan State Diagram, lalu di-code as-is...
> jadi deh behavioral objects-nya.

Saya juga masih perlu banyak belajar tentang ini. Jadi process nya begini 
(based 
on my experience) :

SCRUM meeting, tentukan point2x dan berapa lama sprint, lalu jalankan sprint 
tsb 
sesuai dg yg sudah ditentukan meeting "besar", di balik layar siapkan product 
backlog juga ideas (sangat dibutuhkan andil baik sesama team, techie AND 
non-techie)

catatan: boleh ajarkan juga si creative director atau bawahan product owner utk 
pelajari rbehave dari sisi business design process saja. lalu bagian teknisnya 
silakan beri kepada techie utk diselesaikan dalam sprint.

selama melakukan rbehave dan menjalankannya (krn autotest AFAIK belum support 
rbehave bahkan mereka masih membahas soal sintaks) tentu diperlukan code rspec 
disana. tentukan model sesuai keinginan client (dalam hal ini bila berbentuk 
perusahaan berarti si creative director, there is definitely NO project manager 
i'm talking here! Only SCRUM Master!) lalu sambil intip autotest (yang tentu 
setelah sukses dengan script/generate rspec maka akan autoload rspec) pasti 
merah 
merah karena gagal karena memang belum ada codesnya alias memang baru 
testing/spec'ing saja.

dari situ, barulah bergerak ke tulis codingnya sesuai dari behaviour di spec 
tadi. 
oh ini tadi saya bicara hanya model, begitu pula halnya dengan controller, 
view, 
helper, library, plugin.

kemudian untuk event yang kamu tanyakan silakan pelajari tentang Mock, Stub, 
lalu 
demi penghadang rbehave yang tak mendukung mock and stub juga fixture maka 
hajar 
dengan fixture_replacement plugin. adapun tentang view spec'ing boleh pakai 
default rspec yang sudah OK *mostly* atau sesuaikan dengan selera kalau suka 
hpricot tinggal sesuaikan (refer ke blog si pat eyler).

> Care to <del>brainwash</del> enlighten me?

oh jadi bila harus pakai rspec or BDD in general?
=> *selalu* ;-) just remember it's 90% about discipline :-D

any confusing statements, or you want to compare assert_blah to BDD, I'll 
welcome 
(not promise to answer quickly tapi ya)

-- 
Arie | http://www.linkedin.com/in/ariekeren
http://ariekusumaatmaja.wordpress.com | http://groups.yahoo.com/groups/id-ruby
Oops!



Kirim email ke