JavaScript 从另一个文件创建自定义对象以进行测试

标签 javascript qunit

我正在为以下 html 文件编写 Qunit 测试:

var PinPointService = {
     doAjax: function(doAjax_params) {
          //do some stuff
     }
     //a bunch more variables and functions
}

我在单独的文件中编写的测试:

QUnit.test("test", function(assert) {
    var array = [];
    PinPointService.doAjax(array);
    //assert some stuff
});

我得到的错误:

PinPointService is not defined

我的主要js文件:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>Pinpoint Test</title>
  <link rel="stylesheet" href="https://code.jquery.com/qunit/qunit-2.0.0.css">

  <script src="http://code.jquery.com/jquery-latest.js"></script>  
  <script src="https://code.jquery.com/qunit/qunit-2.0.0.js"></script>
  <script type="text/javascript" src="C:\path\to\jshamcrest.js"></script>
  <script type="text/javascript" src="C:\path\to\core.js"></script>
  <script type="text/javascript" src="C:\path\to\integration.js"></script>  
  <script type="text/javascript" src="C:\path\to\jsmockito-1.0.4.js"></script>
  <script type="text/javascript" src=""></script>
  <script src="C:\path\to\pinpoint.html"></script>
  <script src="C:\path\to\pinpointTest.js"></script>
</head>
<body>
  <div id="qunit"></div>
  <div id="qunit-fixture"></div>

</body>
</html>

除了在我的主 js 文件中包含 pinpoint.html 之外,我还需要做些什么吗?我是 JavaScript 新手,因此我认为我可能会遗漏该语言与我非常熟悉的 Java 相比如何工作的一些基础知识。

最佳答案

确保导入文件的位置

QUnit.test("test", function(assert) {
    var array = [];
    PinPointService.doAjax(array);
    //assert some stuff
});

位于您导入 PinPointService 后。

所以在你的 html 文件中它应该是这样的

...
 <script src="C:\path\to\pinpointTest.js"></script>
<script src="file_containing_the_code_above"></script>
...

html 页面是从上到下读取和包含的,因此如果您尚未包含 pinpointTest 文件,则无法使用其中的任何内容。

关于JavaScript 从另一个文件创建自定义对象以进行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38508913/

相关文章:

javascript - jQuery end() 函数

javascript - 编写 "unit testable"jQuery 代码?

javascript - 函数修改不反射(reflect)在输出中

javascript - 如何在Qunit中模拟.load函数?

javascript - 使用 Qunit 对 javascript 函数进行单元测试

javascript - 如果没有模板字符串和条件(三元)运算符,但有 if-else,这个 React 代码会是什么样子?

javascript - 我如何设置事件选项卡的样式?

javascript - 无法从 Marvel API 状态 401 获取数据

Javascript 将数组重新映射到对象中,排除 0(零)值

typescript - 当我使用 Chutzpah.json 文件时使用 Chutzpah 运行测试时出现问题