为什么我的存根Sinon.Stub被忽略?

时间:2018-06-26 09:56:10

标签: javascript unit-testing mocha sinon

我想知道为什么我的存根会被忽略。

比方说,我有一个名为myfile.ts的文件,该文件导出两个异步方法。 AB

import { sendResult } from '../index'

export async A(): Promise<string[]> {
  // making an async api call
  const result = await apiCall()
  // do sync treatement on result then send it back
  ...
  return value
}

export async B(): Promise<void> {
  // Calling A()
  const aResult = await A()
  // do some sync treatement and call a method from an other module than 
  // returns a Promise<void>
  ...
  sendResult()
}

我需要对B方法和存根AsendResult进行单元测试

我的testFile.ts看起来像

import { sandbox } from 'sinon'
import * as AB from './modules/ab'
import * as INDX from './index'

const testSandbox = sandbox.create()

describe('my tests', function () {
  beforeEach(() => {
    testSandbox.stub(INDX, 'sendResult').resolves()
    testSandbox.stub(AB, 'A').resolves([])
  })

  afterEach(() => {
    testSandbox.restore()
  })

  it('should pass but it is not', async function (done) {
    await AB.B()
    const sendResultStub = UL.sendResult as SinonStub
    assert.calledOnce(sendResultStub)
    done()
  })
})

我不明白为什么sendResult存根很好,而A却不这样。我想念什么?

谢谢进步的人!

巴斯蒂安

0 个答案:

没有答案