1
9
无法从外部范围访问内部函数(private)。如果您想测试内部函数,可以考虑添加一个仅用于测试目的的公共方法。如果您使用某种类型的构建环境(例如Ant),则可以预处理用于生产的javascript文件并删除这些测试函数。 实际上,JavaScript是一种面向对象的语言。它不是一个静态类型的。 |
2
5
我的解决方案只是一点小技巧。QUn单元示例: 在qunit测试html的顶部,我声明:
在可测试类中,我有一个这样的片段:
在库尼特你可以核实
|
3
3
我也有类似的问题。我提出的解决方案不是我喜欢的,但它确实能解决问题,而且我找不到更好的解决方案。
测试:
|
4
1
其实有一个简单的方法。可以使用Ajax加载脚本并插入一个公开私有函数的函数。我有个例子 here 它使用qunit和jquery。但我相信使用纯JavaScript也可以很容易做到这一点。 |
5
0
在面向对象的语言中,通常需要对 受保护的 方法通过让测试类从其测试的类继承。 当然,javascript并不是一种面向对象的语言,而且这种模式不允许继承。 我认为您要么需要公开您的方法,要么放弃对它们的单元测试。 |
6
0
只有一个正确的选择: 用于测试和生产的不同版本 1)仅标记开发部件
2)以后剥掉它们……;)
@菲尔沃顿写了很多漂亮的文章: |
Softly · 单选按钮未按预期取值 1 年前 |
SlickRed · 我无法使用JS关注HTML元素 1 年前 |
assembler · Nextjs没有处理发布请求 1 年前 |
BADRUM · 执行两个获取功能后,如何导航回页面? 1 年前 |
Toniq · javascript为php保存多维数组 1 年前 |