Jasmine:有没有办法模拟本地使用的服务?

我对 Angular 和 Jasmine 测试相当陌生,所以我试图检查这个方法是否正常工作,但我需要模拟XmlReaderService,它仅在本地使用,我如何模拟这个?我期待一些东西,spyOn但无法理解它......


  private getElementSettings() {

    const xmlReader = new XmlReaderService(this.logger)

    xmlReader.requestXml(this.xmlServiceUrl + this.settingsFileName).then(() => {

      this.elementSettings = xmlReader.xmlJsoned['element_settings']

      this.getElementTypes()

      this.getElementList()

      this.getMonitors()

    }).catch((reason) => {

      this.logger.error('XML Request failed in getElementSettings()!')

      this.logger.info(reason, '[' + this.constructor.name + ']')

      this.delegate.errorCallback(650, 'XML Request failed - could not get smart home element definitions (ElementSettings.xml)', reason)

    })

  }


饮歌长啸
浏览 119回答 1
1回答

幕布斯6054654

像你拥有的那样嘲笑它会很困难。如果在构造函数中注入服务,测试会更容易。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript