1
私はフロントエンドのreact/reduxアプリケーション用のテストを書こうとしています。ここでmocha、sinon、windowオブジェクトをスタブする
は私のテストで私をトリップされたモジュールの一部である:ここで
import 'aws-sdk/dist/aws-sdk';
import Bluebird from 'bluebird';
const AWS = window.AWS;
は私のテストの始まりです:
import chai from 'chai';
import { expect } from 'chai';
import chaiAsPromised from 'chai-as-promised';
import sinon from 'sinon';
chai.use(chaiAsPromised);
describe("S3Gateway",() => {
let awsStub;
let sandbox;
let writeObject;
beforeEach(() => {
sandbox = sinon.sandbox.create();
writeObject = require('../../../app/lib/aws/s3gateway').writeObject;
awsStub = sinon.stub().returns({
S3: sinon.stub().returns({
putObject: sinon.spy()
})
});
sandbox.stub(window, 'AWS', awsStub);
});
私は標準出力に得続けるエラー私のターミナルウィンドウでmochaを実行してから:
$ mocha test/lib/aws/s3gateway.js --compilers js:babel-core/register
S3Gateway
1) "before each" hook for "should attempt to write json object to s3"
0 passing (483ms)
1 failing
1) S3Gateway "before each" hook for "should attempt to write json object to s3":
ReferenceError: window is not defined
AWS
window
オブジェクトからは、webpackがフロントエンドアプリケーション用にaws-sdkをバンドルする方法が原因です。他の人がこの問題にぶつかり、修正しますか?
ああ、「global.window」は私が紛失しているものです。私はそれを試してみましょう!ありがとう!! – dennismonsewicz