你如何单元测试office.js应用程序代码?

时间:2016-11-01 16:21:37

标签: office365 office-js office365-apps

基于office.js的代码测试是否有任何常见的做法,框架或模式? 考虑到thr对象模型中的大量组件,模拟对office.js的调用是不可能的。 有没有像业力发射器一样将测试代码发送到测试容器任务窗格应用程序? 有人制定了一种有效的方法来测试与office.js交互的代码吗?

2 个答案:

答案 0 :(得分:1)

我认为你应该像对#34;标准"那样对基于Office.js的代码进行单元测试。 javascript代码。实际上,Office.js只是另一种jQuery依赖,如JQuery等。

当然,您不应在测试页中包含Office.js,并通过模拟替换Office对象。你可以看看Sinon Js一个javascript模拟框架。

编写单元测试时,会隔离一段称为被测系统(SUT)的代码(类或模块)。如果您将插件基于单页应用程序框架(如Angular),则SUT可以是控制器。然后,您可以将Office对象作为依赖项注入,在 real 上下文中,这将是来自Office.js的真实Office。在测试中,这将是一个模拟。

答案 1 :(得分:0)

这是我最终做的事情:

  1. 向解决方案添加了新的任务窗格应用程序项目
  2. 包括Jasmine Standalone拉链 https://github.com/jasmine/jasmine/releases
  3. 使TaskPane应用程序的清单源位置指向SpecRunner.html
  4. 修改了boot.js以替换window.load上的测试规范的执行,以便在Office.initilize上执行。