我有一个应用程序的单元测试,其中我想要测试的javascript依赖于其他JS框架(underscore.js,backbone.js,jQuery...)。因此,在设置specRunner.html时,我也添加了这些文件:
....
<head>
<title>p13n.js Spec Runner</title>
<link rel="shortcut icon" type="image/png" href="./jasmine-standalone-1.3.1/lib/jasmine-1.3.1/jasmine_favicon.png">
<link rel="stylesheet" type="text/css" href="./jasmine-standalone-1.3.1/lib/jasmine-1.3.1/jasmine.css">
<script src="./jasmine-standalone-1.3.1/lib/jasmine-1.3.1/jasmine.js"></script>
<script src="./jasmine-standalone-1.3.1/lib/jasmine-1.3.1/jasmine-html.js"></script>
<!-- include source files here... -->
<script src=".../jquery.min.js" ></script>
<script src=".../underscore-min.js"></script>
<script src=".../backbone-min.js"></script>
<script src=".../MyApplication-file.js"></script>
<!-- include spec files here... -->
<script src=".../spec/MyApplication-spec.js"></script>
<script type="text/javascript">
(function() {
var jasmineEnv = jasmine.getEnv();
jasmineEnv.updateInterval = 1000;
var htmlReporter = new jasmine.HtmlReporter();
...
然而,这对于使用类似Grunt工具进行自动化测试的情况是行不通的。我不能依赖specRunner.html来加载我的依赖项,因为该 .html 文件没有被使用。您如何管理依赖关系?
- 我应该测试经过压缩和压缩的应用程序代码+供应商吗? - 我应该在我的单元测试规范中使用像require.js这样的工具吗? - Grunt 是否以另一种方式解决了这个问题?