如何对调用外部定义的库函数的Javascript文件进行单元测试?

How do I unit test Javascript files that call library functions defined externally?

本文关键字:文件 单元测试 Javascript 库函数 调用 外部 定义      更新时间:2023-09-26

假设我有一个很棒的。html文件

<head>
<script .. abc-library.js>
<script .. app.js>
</head>

和我想单元测试我自己的文件,app.js .

但是在app.js中,我调用了abc-library.js中定义的东西,比如

...
handy_function_from_abcjs("do something here");
...

当然,当我在浏览器中加载我的awesome.html时,它工作得很好,因为我在app.js之前定义了我的handy_function,所以我的app.js看到它…

但是,当我在app.js上运行单元测试时出现问题,因为它只加载app.js,并且它会失败,因为它找不到handy_function的定义。

这种情况是如何解决在那些javascript单元测试定义?这是经常遇到的,对吧?

当我使用karma测试我的初学者AngularJS应用程序时,我遇到了这个问题。

暂时将abc-library.js的内容放到app.js中;为什么要把它弄得更复杂呢?一旦完成单元测试,就删除代码。或者当你在浏览器中运行awesome.html文件时,你也可以使用console.log。