Minitest/spec, minitest/mock $B$rI8=`E:IU$+$i30$7$^$;$s$+!)(B

okkez e$B$G$9!#e(B

e$B!V2?$r:#$5$i!W$H;W$o$l$k$+$b$7$l$^$;$s$,!"Ej9F$7$^$9!#e(B

e$B%j%U%!%l%s%9%^%K%e%"%k$r=q$/$?$a$K!"e(Bminitest
e$B$K4^$^$l$k%i%$%V%i%j$rFI$s$G$$$?$N$G$9$,!"e(B
minitest/spec, minitest/mock
e$B$OI8=`E:IU$KF~$l$k$[$I$G$O$J$$$H;W$$$^$9!#e(B

e$B;H$o$l$J$$$b$N$rF~$l$F$bC/$b4r$7$/$J$$$H;W$&$N$G$9$,$$$+$,$G$7$g$&$+!)e(B
e$B>/$J$/$H$b;d$O!"0J2<$NM}M3$+$ie(B minitest/spec, minitest/mock
e$B$O;H$$$^$;$s!#e(B

  • minitest/spec e$B$r;H$&$J$ie(B RSpec e$B$dB>$Ne(B BDD
    e$B$J%F%9%F%#%s%0%U%l!<%`%o!<%/$r;H$C$?J}$,e(B
    e$B<+M3$K=q$1$k!#e(B
  • minitest/mock e$B$r;H$&$J$ie(B flexmock e$B$de(B mocha
    e$B$r;H$C$?J}$,!"$A$c$s$H$7$?%b%C%/$d%9%?%V$re(B
    e$B:n$l$^$9!#e(B

e$B$3$l$ie(B(minitest/spec,minitest/mock)e$B$O!"!V$d$C$F$_$?$i=PMh$?!W$H$$$&46$8$,$7$Fe(B
e$B$"$^$j%^%8%a$K:n$j9~$^$l$?$b$N$G$O$J$$$h$&$K46$8$i$l$^$9!#e(B

  • RubyGems e$B$GG[I[$9$l$P==J,$G$O$J$$$+$H9M$($^$9!#e(B

minitest/spec, minitest/mock
e$B$K$O0J2<$N$b$N$,7g$1$F$$$k$h$&$K;W$$$^$9!#e(B

  • e$B%I%-%e%a%s%He(B (RDoc)
    ** e$BA4$/L5$$$C$F$I$&$$$&$3$H$J$s$G$7$g$&$+!)e(B
  • e$B%F%9%He(B (minitest/unit
    e$B$7$+8+$l$F$$$^$;$s$,!"B-$j$J$$$H;W$$$^$9!#e(B)
  • e$BIJ<Ae(B (e$B;d$+$i8+$F$bL@$i$+$JIT6q9g$,;68+$5$l$^$9e(B)

minitest/spec e$B$NIT6q9ge(B (e$B5!G=ITB-e(B) e$B$NNce(B

  • Spec e$B$rF|K\8l$G=q$1$J$$e(B -> e$B?t9T$N=$@5$G$O:Q$^$J$5$=$&e(B
  • e$B%a%C%;!<%8$r;XDj$9$k$He(B expected e$B$He(B actual
    e$B$,F~$lBX$o$ke(B
    ** e$B%I%-%e%a%s%H$,L5$$$N$G%=!<%9$rFI$s$GF0$+$7$F$_$?$i5$IU$-$^$7$?e(B

e$B$"$H!“4X78$J$$$G$9$,e(B minitest
e$B$N%=!<%9%3!<%I$N%X%C%@$N%3%a%s%H$K$I$3$Ge(B
e$B:G?7$N%=!<%9%3!<%I$r%A%’%C%/$G$-$k$N$+=q$$$F$[$7$$$G$9!#e(B
e$B%Q%C%A$r=q$$$F$b%”%C%W%9%H%j!<%`$G$O=$@5:Q$G$7$?!"$H$+Ha$7$$$G$9$7!#e(B

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:37490] minitest/spec, minitest/mock
e$B$rI8=`E:IU$+$i30$7$^$;$s$+!)e(B”
on Thu, 18 Dec 2008 15:48:45 +0900, okkez [email protected]
writes:

|# e$B!V2?$r:#$5$i!W$H;W$o$l$k$+$b$7$l$^$;$s$,!“Ej9F$7$^$9!#e(B
|
|e$B%j%U%!%l%s%9%^%K%e%”%k$r=q$/$?$a$K!"e(Bminitest e$B$K4^$^$l$k%i%$%V%i%j$rFI$s$G$$$?$N$G$9$,!"e(B
|minitest/spec, minitest/mock e$B$OI8=`E:IU$KF~$l$k$[$I$G$O$J$$$H;W$$$^$9!#e(B

e$B$A$g$C$HCY$$$+$bCN$l$^$;$s$M$(!#$5$i$K8@$($P!"e(Bruby-deve$B$@$1$Ge(B
e$B7h$a$i$l$k$3$H$G$b$J$$$H;W$$$^$9!#%a%s%F%J!“F|K\8lFI$a$^$;$se(B
e$B$7!#e(Bokkeze$B$5$s$O!”$I$&$$$&Iw$K5DO@$r?J$a$?$$$G$9$+!)e(B

e$B;d$H$7$F$Oe(Bruby-coree$B$G1Q8l$G$d$C$F$$$?$@$/$N$,0lHV3Z$J$N$G$9e(B
e$B$,!“8@8l$NJI$G$=$l$,Fq$7$$$h$&$G$7$?$i!”;d$,Cg2p$9$k$3$H$b$Ge(B
e$B$-$^$9!#$,!“;d<+?H$,30$9I,MW@-$r6/$/46$8$F$J$$$s$G!”$"$^$jM-e(B
e$B8z$JCg2p$K$O$J$i$J$$$+$b$7$l$^$;$s$M$(!#e(B

                            e$B$^$D$b$He(B e$B$f$-$R$me(B /:|)

okkez e$B$G$9!#e(B

2008/12/18 15:56 Yukihiro M. [email protected]:

e$B$A$g$C$HCY$$$+$bCN$l$^$;$s$M$(!#$5$i$K8@$($P!"e(Bruby-deve$B$@$1$Ge(B
e$B7h$a$i$l$k$3$H$G$b$J$$$H;W$$$^$9!#%a%s%F%J!“F|K\8lFI$a$^$;$se(B
e$B$7!#e(Bokkeze$B$5$s$O!”$I$&$$$&Iw$K5DO@$r?J$a$?$$$G$9$+!)e(B

e$B0J2<$N$h$&$J46$8$G$7$g$&$+!#e(B

  • e$B<+J,$,F|K\8l$N%j%U%!%l%s%9$r=q$$$F$$$k$3$H$rEA$($ke(B
  • e$B<+J,$,e(B minitest/spec, minitest/mock e$B$r;H$o$J$$M}M3$rEA$($ke(B
  • e$B:n$C$?0U?^$rJ9$/e(B
  • e$B:#8e!"@Q6KE*$K2~A1$5$l$k$N$+0U;V$r3NG’$9$ke(B
    ** e$B2~A1$5$l$k$J$i$=$N$^$^!#e(B
    ** e$B$5$l$J$$$J$i30$9!#e(B

e$B;d$H$7$F$Oe(Bruby-coree$B$G1Q8l$G$d$C$F$$$?$@$/$N$,0lHV3Z$J$N$G$9e(B
e$B$,!“8@8l$NJI$G$=$l$,Fq$7$$$h$&$G$7$?$i!”;d$,Cg2p$9$k$3$H$b$Ge(B
e$B$-$^$9!#$,!“;d<+?H$,30$9I,MW@-$r6/$/46$8$F$J$$$s$G!”$"$^$jM-e(B
e$B8z$JCg2p$K$O$J$i$J$$$+$b$7$l$^$;$s$M$(!#e(B

e$B8@MUB-$i$:$d@bL@ITB-$d$i$GAj<j$rE$i$;$J$$$+?4G[$G$9!#e(B
e$B$H$j$“$($:$5$C$-$NFbMF$r1Q8l$K$7$F$$Fe(B ruby-core
e$B$KEj$2$F$
$h$&$H;W$$$^$9!#e(B
e$B$J$s$+BgJQ$J$3$H$K$J$j$=$&$@$C$?$i!”%U%)%m!<$7$F$$$?$@$1$k$H=u$+$j$^$9!#e(B

ruby-core
e$B$N2a5n%m%0$r$A$g$C$H$@$1FI$s$G$+$i%a!<%k$r=q$/$N$G$A$g$C$HCY$/$J$k$H;W$$$^$9!#e(B

e$B$^$D$b$H$5$s$O!V30$9I,MW@-!W$r46$8$J$$!“;d$O!VF~$l$kI,MW@-!W$r46$8$J$$!#e(B
e$B$=$3$NG’<1$,0c$&$N$G$9$M!#$^$D$b$H$5$s$O!”$b$&!VF~$C$F$k!W$H$$$&G’<1$J$s$G$9$M!#e(B
e$B;d$Oe(B Ruby1.9
e$B$O$^$@@5<0$K%j%j!<%9$5$l$F$J$$$+$i!V$^$@F~$C$F$J$$!W$H$$$&G’<1$G$7$?!#e(B
e$B$@$+$i!"$^$@!V30$=$&$H;W$($P!"30$;$k!W$H9M$($F$^$7$?!#e(B

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:37492] Re: minitest/spec, minitest/mock
e$B$rI8=`E:IU$+$i30$7$^$;$s$+!)e(B”
on Thu, 18 Dec 2008 16:39:19 +0900, okkez [email protected]
writes:

|> e$B$A$g$C$HCY$$$+$bCN$l$^$;$s$M$(!#$5$i$K8@$($P!“e(Bruby-deve$B$@$1$Ge(B
|> e$B7h$a$i$l$k$3$H$G$b$J$$$H;W$$$^$9!#%a%s%F%J!“F|K\8lFI$a$^$;$se(B
|> e$B$7!#e(Bokkeze$B$5$s$O!”$I$&$$$&Iw$K5DO@$r?J$a$?$$$G$9$+!)e(B
|
|e$B0J2<$N$h$&$J46$8$G$7$g$&$+!#e(B
|
|* e$B<+J,$,F|K\8l$N%j%U%!%l%s%9$r=q$$$F$$$k$3$H$rEA$($ke(B
|* e$B<+J,$,e(B minitest/spec, minitest/mock e$B$r;H$o$J$$M}M3$rEA$($ke(B
|* e$B:n$C$?0U?^$rJ9$/e(B
|* e$B:#8e!”@Q6KE*$K2~A1$5$l$k$N$+0U;V$r3NG’$9$ke(B
|** e$B2~A1$5$l$k$J$i$=$N$^$^!#e(B
|** e$B$5$l$J$$$J$i30$9!#e(B

e$B$=$s$J46$8$G$9$M!#e(B

|e$B8@MUB-$i$:$d@bL@ITB-$d$i$GAj<j$rE$i$;$J$$$+?4G[$G$9!#e(B
|e$B$H$j$“$($:$5$C$-$NFbMF$r1Q8l$K$7$F$$Fe(B ruby-core e$B$KEj$2$F$$h$&$H;W$$$^$9!#e(B
|e$B$J$s$+BgJQ$J$3$H$K$J$j$=$&$@$C$?$i!”%U%)%m!<$7$F$$$?$@$1$k$H=u$+$j$^$9!#e(B

e$B$=$&$G$9$M!#%U%)%m!<$7$^$9!#e(B

|e$B$^$D$b$H$5$s$O!V30$9I,MW@-!W$r46$8$J$$!“;d$O!VF~$l$kI,MW@-!W$r46$8$J$$!#e(B
|e$B$=$3$NG’<1$,0c$&$N$G$9$M!#$^$D$b$H$5$s$O!”$b$&!VF~$C$F$k!W$H$$$&G’<1$J$s$G$9$M!#e(B
|e$B;d$Oe(B Ruby1.9 e$B$O$^$@@5<0$K%j%j!<%9$5$l$F$J$$$+$i!V$^$@F~$C$F$J$$!W$H$$$&G’<1$G$7$?!#e(B
|e$B$@$+$i!"$^$@!V30$=$&$H;W$($P!"30$;$k!W$H9M$($F$^$7$?!#e(B

e$B$^$"!"0lEY!VF~$l$F$b$$$$$h!W$H8@$o$l$?%a%s%F%J$K$7$F$_$l$P!"e(B
e$B:#$5$i!V30$;!W$H8@$o$l$k$N$O$=$s$J$K5$J,$NNI$$$b$N$G$O$J$$$Ge(B
e$B$7$g$&$M!#e(B

                            e$B$^$D$b$He(B e$B$f$-$R$me(B /:|)