sandbox.stub
テスト フレームワークSinonnavigator.language
を使用して、たとえば、またはテストのために上書きするにはどうすればよいnavigator.userAgent
ですか?
以下を使用しようとすると:
suite('agent', function () {
var sandbox;
setup(function () {
// create sandbox environment for mocking about
sandbox = sinon.sandbox.create();
});
teardown(function () {
// restore the environment as it was before
sandbox.restore();
});
test('language', function () {
assert.equal(au.env.agent.language, navigator.language);
if (!navigator.language) assert.equal(au.env.agent.language, 'de');
var lang = "test_URK";
sandbox.stub(window.navigator, 'language', lang);
assert.equal(au.env.agent.language, lang);
});
});
次に、次のエラーが表示されます:存在しない独自のプロパティ言語をスタブできません:
これらのスタブはどれも期待どおりに機能しません。
- sandbox.stub(window.navigator, 'language', lang);
- sandbox.stub(navigator, 'browserLanguage', lang);
ナビゲーターオブジェクトを嘲笑しています。
ヒントはありますか?