【发布时间】:2014-04-23 09:12:08
【问题描述】:
我有一个应用程序的单元测试,其中我想要测试的 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 是否以其他方式解决此问题?
【问题讨论】:
标签: javascript unit-testing gruntjs jasmine