sinon を使用してテストする次のコードがあります。
var req = new MultiPartUpload({
client: client,
objectName: "/" + obj.func.destPath(),
stream: obj.outStream,
headers: headers
}, function (err, body) {
obj.debug('uploaded' + body);
});
このオブジェクトの作成をテストする必要があります。どうすればいいですか?私は試してみました:
var MultiPartUpload = require('knox-mpu');
var stub = sinon.createStubInstance(MultiPartUpload);
instance(obj, function () {
expect(stub).to.have.been.called;
done();
});
しかし、期待どおりには機能しません。なにか提案を?ありがとうございました :)
編集:
instance は、MultiPartUpload オブジェクトを作成するオブジェクトのインスタンスです。問題は、インスタンスの署名を変更できないことと、インスタンスが作成されるファイルに MultiPartUpload ライブラリが必要なことです。
つまり、MultiPartUpload ライブラリをスパイする必要があります。問題は、ライブラリが使用されているインスタンスと通信できないことです。