これはそのように思えますshould非常に単純です。しかし、2時間の読書と試行錯誤が成功しなければ、私は敗北を認め、皆さんに尋ねています!Mochaで「ノーノード」のJavaScript関数をテストするにはどうすればよいですか?
私は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
で失敗します。
私はどちらかのノードglobal
オブジェクトにオブジェクトや関数を添付したり、これらのアプローチのいずれかを使用してブタ彼らはmodule.exports
を使用してエクスポート見つけた例のほとんどは、私の機能コードは、標準のエラーを投げるだろう意味するので、なぜ、私が見ることができますこれらのオブジェクトが存在しないブラウザの状況。
したがって、ノード固有の構文を使用せずに、テストとは別のスクリプトファイルで宣言されたスタンドアロン関数にアクセスするにはどうすればよいですか?
あなたに 'exports.testFunction = testFunction'を使用しましたが、 functions.js? – drinchev
いいえ、 'functions.js'の内容がすべて表示されます。質問をもう一度読んでください。ソースファイルでノード固有の構文を使用したくないと具体的に述べています。 –