2

これは私が達成したいことの骨格です

(let [temp-dir (create-temp-dir)]          ; setup
  (fact
    (do-something-with temp-dir) => true)  ; actual test
  (delete-dir temp-dir))                   ; teardown

midje テスト フレームワークは、レキシカル スコープへのアクセスを提供します (最後までスクロールします)。だから、これは私が期待するものです:

(against-background
  (around :facts
    (let [temp-dir (create-temp-dir)]
      (do ?form (delete-dir temp-dir))))
  (fact (do-something-with temp-dir) => true))

しかし、コンパイラはシンボルを解決できないと文句を言いますtemp-dir。これを機能させる方法はありますか?

4

1 に答える 1

1

ラッパーを囲む角括弧がありません。あなたが含めたリンクから:

0 個以上のラッパーは、次の 3 つの異なる形式で見つけることができます。

(背景に対して [ ラッパー ] ...)

ラッパーは、バックグラウンド内のすべてのフォームに適用されます。

(事実 ... (バックグラウンド ラッパーに対して) ...)

意味的には、これはこの 1 つのファクトをラップする against-background と同じです。反対背景フォームは、ファクトの最上位フォームのどこにでも表示でき、複数存在することもできます。[] で囲まれていないことに注意してください。

(背景ラッパー ...)

于 2012-12-08T16:17:39.543 に答える