我有一个变量在html中声明为

<script>
    var actionUrl = '@Url.Action(action, "Designer")';
</script>

以便变量actionUrl可以在我要测试的javascript文件中调用。但是,当单元测试隔离每个要测试的文件时,actionUrl在karma中变得未定义。我如何模拟这个变量?什么是最佳实践?

有帮助吗?

解决方案

  1. 如建议,通过调用 window.actionUrl = 'whatever';
  2. 或者,也许为模拟对象发明一些结构是有意义的

unit-tests | mocks - | - module1.js ... | - moduleN.js | - globals.js

然后将所有全局对象放入 globals.js 并将其装入内部 karma.config.js

编辑:在角种子的叉子上增加了全局模拟 https://github.com/sbedulin/angular-js-dev-guide

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top