У меня есть следующий тест:
const AWSMock = require('aws-sdk-mock');
const AWS = require('aws-sdk');
const sinon = require('sinon');
function sendMetric() {
const cloudwatch = AWS.CloudWatch();
cloudwatch.putMetricData();
}
describe('Meh', () => {
it('meh', () => {
let sendMetricSpy = sinon.spy();
AWSMock.mock('CloudWatch', 'putMetricData', sendMetricSpy);
sendMetric();
expect(sendMetricSpy.calledOnce).toEqual(true);
});
});
Я ожидаю, что тест пройден, потому что я сделал то, что документация говорит. Это искаженный пример того, чего я пытаюсь достичь в моем реальном коде.
Фактический результат выполнения теста:
FAIL functions/monitor/__test__/j.test.js
Meh
✕ meh (10ms)
● Meh › meh
expect(received).toEqual(expected) // deep equality
Expected: true
Received: false
14 | AWSMock.mock('CloudWatch', 'putMetricData', sendMetricSpy);
15 | sendMetric();
> 16 | expect(sendMetricSpy.calledOnce).toEqual(true);
| ^
17 | });
18 | });
19 |
Я не знаю, как устранить эту проблему дальше.
Я также пытался установить aws-sdk
объектную экспансию , что привело к тому же результату.
Что я делаю не так?