Node.js sinon:无法存根不存在的自有属性formatData

Node.js sinon:无法存根不存在的自有属性formatData,node.js,sinon,Node.js,Sinon,我得到了错误“不能存根不存在的自己的属性formatData”,但我真的不知道为什么!我对测试很陌生,这个测试和我做过的另一个测试一样有效 const submitDetails = require('../src/scripts/submitDetails') const sendEmail = require('../src/lib/sendEmail') describe('submitDetails', function () { let sandbox = null bef

我得到了错误“不能存根不存在的自己的属性formatData”,但我真的不知道为什么!我对测试很陌生,这个测试和我做过的另一个测试一样有效

const submitDetails = require('../src/scripts/submitDetails')
const sendEmail = require('../src/lib/sendEmail')

describe('submitDetails', function () {
  let sandbox = null

  before(() => {
    sandbox = sinon.createSandbox()
  })

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

  describe('submitDetails', () => {
    let mockParams, result

    beforeEach(async () => {
      mockParams = {
        emailName: 'Confirmation',
        formName: 'Contact'
      }
      sandbox.stub(submitDetails, 'formatData').returns({})
      result = await submitDetails.formatData(mockParams)
    })

    it('should call formatData', () => {
      expect(submitDetails.formatData).to.be.calledWith(mockParams)
    })

    it('should return lowercase params', () => {
      expect(result).to.deep.equal({
        emailName: 'confirmation',
        formName: 'contact'
      })
    })

    it('should call sendEmail', () => {
      expect(sendEmail.sendEmail).to.be.calledWith(result)
    })
  })

  describe('formatData', () => {})
})