共有例を抽出して、ジャスミンテストを乾かそうとしています。
@sharedExamplesForThing = (thing) ->
beforeEach ->
@thingy = new thing
it "is neat", ->
expect(@thingy.neat).toBeTruthy()
describe "widget with shared behavior", ->
sharedExamplesForThing(-> new Widget)
これは、すべてが1つのファイルで定義されている場合にうまく機能します。私が遭遇している問題は、sharedExamplesを別のファイルに移動しようとすると発生します。私は得るCan't find variable: sharedExamplesForThing ...
そこで、デバッグのために、次のことを試しました。
describe "widget with shared behavior", ->
it "is acting like a meany", ->
console.log sharedExamplesForThing
expect(false).toBeTruthy()
sharedExamplesForThing(-> new Widget)
is acting like a meany
ブロック内では、ログはsharedExamplesForThing
として表示されますが、[Function]
それでも。のCan't find variable
外側が表示されますit
。これは私の現在の経験以外のスコーピングの問題と関係があるように感じますが、それについては完全に間違っている可能性があります。ここで何が欠けていますか?
(レール、ジャスミネリス、ガードジャスミンを使用)