3

テストで使用する変数を設定する方法がわかりません。たとえば、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() 呼び出しに配置しようとしましたが、違いはないようです。

誰かが私にこれに関する助けや指針を与えることができれば、それは大歓迎です。

4

2 に答える 2