これは非常に単純なはずです。しかし、2時間の読書と試行錯誤の結果、成功しなかったので、敗北を認め、皆さんに質問します!
MochaをShould.jsで使用して JavaScript 関数をテストしようとしていますが、スコープの問題が発生しています。最も基本的なテスト ケースに単純化しましたが、動作させることができません。
という名前のファイルfunctions.js
があり、次の内容のみが含まれています。
function testFunction() {
return 1;
}
そして私のtests.js
(同じフォルダにあります)内容:
require('./functions.js')
describe('tests', function(){
describe('testFunction', function(){
it('should return 1', function(){
testFunction().should.equal(1);
})
})
})
このテストはReferenceError: testFunction is not defined
.
私が見つけたほとんどの例は、オブジェクトと関数を Nodeglobal
オブジェクトにアタッチするか、または Node オブジェクトを使用してそれらをエクスポートするため、その理由はわかりmodule.exports
ます。存在しません。
では、ノード固有の構文を使用せずに、テストとは別のスクリプト ファイルで宣言されているスタンドアロン関数にアクセスするにはどうすればよいでしょうか?