テストで使用する変数を設定する方法がわかりません。たとえば、spark.isTriple() という関数があります。この関数は、数値を取り、dice という配列を調べて、値が 3 回以上出現する場合は true を返し、そうでない場合は false を返します。
#In game.coffee
window.spark =
isTriple: (n)->
triples = _.filter dice, (i)->
n is i
if triples.length >= 3
true
else
false
そして、私はこのようなテストをしています。
# In game_spec.coffee
describe 'spark.isTriple', ->
it "Should return true if the given value is found 3 or more times in the dice roll", ->
dice = [1,2,2,2,4,5]
spark.isTriple(2).should.be.true
問題は、実際に rollDice() 関数をテストしている以前のテストでも「dice」が設定されていることです。そのテストでは、サイコロが値のランダムな配列に設定されており、これが実行およびテストされるべきものです。しかし、この特定のテストでは、「サイコロ」を特定の配列に設定して、isTriple() 関数をテストできるようにしたいと考えています。「dice = [1,2,2,2,3,4]」を before() 呼び出しと beforeEach() 呼び出しに配置しようとしましたが、違いはないようです。
誰かが私にこれに関する助けや指針を与えることができれば、それは大歓迎です。