jasmine html没有't在浏览器中运行,但在控制台中工作
jasmine-html doesn't run in browser, but works in console
我用yeoman建立了一个Angularjs项目,除了单元测试部分,一切都很好。测试工作在控制台模式下(当我在cmd中使用grunt serve
或grunt test
时),但当我尝试运行runner.html
文件在浏览器上查看时,它没有测试任何规范。我的package.json依赖项如下:
"devDependencies": {
"grunt": "~0.4.5",
....
"karma-ng-scenario": "^0.1.0",
"grunt-karma": "^0.8.3",
"karma": "^0.12.23",
"karma-ng-html2js-preprocessor": "^0.1.0",
"karma-jasmine": "^0.2.2",
"karma-firefox-launcher": "^0.1.3",
"karma-chrome-launcher": "^0.1.4",
"grunt-ng-annotate": "^0.3.2",
"grunt-angular-templates": "^0.5.7"
}
在我的runner.html中是这样的
<!doctype html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Jasmine Spec Runner v2.0.3</title>
<link rel="shortcut icon" type="image/png" href="lib-jasmine-2.0.3/jasmine_favicon.png">
<link rel="stylesheet" type="text/css" href="lib-jasmine-2.0.3/jasmine.css">
<script type="text/javascript" src="lib-jasmine-2.0.3/jasmine.js"></script>
<script type="text/javascript" src="lib-jasmine-2.0.3/jasmine-html.js"></script>
<script type="text/javascript" src="lib-jasmine-2.0.3/boot.js"></script>
<!-- include source files here... -->
<!-- my angular and other libs scripts here -->
<!-- include spec files here... -->
<script src="mock/stateMock.js"></script>
<script src="spec/unit/controllers/main.js"></script>
<script src="spec/unit/services/survey.js"></script>
</head>
<body>
</body>
</html>
我应该怎么做才能让它像在控制台中一样运行?提前感谢
假设您对规范的引用是正确的(它们位于你的runner.html之下。这可能只是你需要包括你的源文件和特定于供应商的文件。这是你上面和我上面的文件之间的唯一区别。不过,我用规范运行程序没有解决的一个问题是使用templateUrl的指令。这在karma-ng-html2js-preprocessor插件的因果报应中得到了解决,但当你使用茉莉花赛跑选手。这是我的一个缩写版本,供参考。仅供参考,我更改了我的yeoman生成器,在添加文件时也对该文件运行wiredep,以便自动添加所有文件。省去了很多头疼的事。
<html>
<head>
<meta charset="utf-8">
<title>Jasmine Spec Runner</title>
<link rel="stylesheet" type="text/css" href="bower_components/jasmine/lib/jasmine-core/jasmine.css">
</head>
<body>
<script src="bower_components/jasmine/lib/jasmine-core/jasmine.js"></script>
<script src="bower_components/jasmine/lib/jasmine-core/jasmine-html.js"></script>
<script src="bower_components/jasmine/lib/jasmine-core/json2.js"></script>
<script src="bower_components/jasmine/lib/jasmine-core/boot.js"></script>
<!-- bower:js -->
<script src="bower_components/angular/angular.js"></script>
... all other bower components
<!-- endbower -->
<!-- devDependencies -->
<script src="bower_components/angular-mocks/angular-mocks.js"></script>
<!-- enddevDependencies -->
<!-- build:js({.tmp,app}) scripts/scripts.js -->
<script src="app/scripts/app.js"></script>
..all other source files
<!-- endbuild -->
<!-- specs -->
<script src="test/spec/controllers/myspec.js"></script>
<!-- endspecs -->
</body>
相关文章:
- 如何让JS脚本在导航后继续运行(谷歌chrome控制台)
- 我一直收到的控制台警告是什么?推迟长时间运行的计时器任务以提高滚动的流畅性
- 使用自定义选项从控制台运行JSlint
- 在 chrome 或 Firefox 中的调试控制台对.js文件运行 JSLint
- 在我打开控制台之前,IE9脚本不会运行
- Jquery代码获胜'不是从页脚加载运行,而是从控制台运行
- JS脚本在浏览器控制台或FireBug控制台上运行有时间限制吗
- 在IE中没有开发人员控制台的情况下,JavaScript无法运行(can't属性为缺少控制台)
- 跨多个页面运行控制台功能
- 正则表达式在从 JS 文件和 Chrome 控制台运行时会产生不同的匹配项
- Javascript在IE7,8,9中返回控制台错误,但在所有其他浏览器中都能完美运行
- Phantom.js 不会从 OSX 控制台运行
- JavaScript 不在 IE8/9 中运行,但在查看控制台时运行
- 代码在浏览器中使用控制台工具运行,但不是从其本身运行
- JavaScript函数未运行(控制台返回函数“不是函数”)
- Firefox控制台错误:试图在清除的范围内运行编译并执行脚本
- 在我的visual studio应用程序页面中显示正在运行的控制台程序数据输出
- 谷歌Chrome控制台在特定网站的每个页面上都运行一个命令
- 如何使控制台在后台运行脚本
- 放肆的控制台运行程序无声失败