JavaScript 从另一个文件创建自定义对象以进行测试
JavaScript make custom object from another file for testing
我正在为以下 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 文件,则不能使用其中的任何内容。
我正在为以下 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 文件,则不能使用其中的任何内容。