我正在使用AngularJS应用。我试图对它进行一些测试。不幸的是,我似乎无法让它发挥作用。我刚刚在控制台窗口中收到错误消息:"未捕获的ReferenceError:未定义env"。我已复制代码以在AngularJS with Jasmine中运行测试。我能看到的唯一区别是我引用了CDN。我有一个jsfiddle here,代码发布在下面。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>My Test Results</title>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jasmine/2.0.0/jasmine.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jasmine/2.0.0/jasmine-html.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jasmine/2.0.0/boot.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.9/angular.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.9/angular-mocks.js"></script>
<script type="text/javascript" src="res/js/angular-scenario.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jasmine/2.0.0/jasmine.css" />
<!-- Load the Test Files-->
<script type="text/javascript" src="e2e/tests.e2e.js"></script>
</head>
<body>
<a href="#" onclick="env.execute()">run tests</a>
</body>
</html>
我的tests.e2e.js文件的内容在小提琴中。作为参考,代码发布在下面:
'use strict';
describe('MyApp', function() {
describe('MyPage', function () {
it('should test', function () {
expect(true).toBe(false);
});
});
});
我做错了什么?
答案 0 :(得分:0)
这是您使用PLUNKER进行测试的方法。按预期工作。
Jasmine在页面加载时执行。
<script type="text/javascript">
(function() {
var jasmineEnv = jasmine.getEnv();
jasmineEnv.updateInterval = 1000;
var htmlReporter = new jasmine.HtmlReporter();
jasmineEnv.addReporter(htmlReporter);
jasmineEnv.specFilter = function(spec) {
return htmlReporter.specFilter(spec);
};
var currentWindowOnload = window.onload;
window.onload = function() {
if (currentWindowOnload) {
currentWindowOnload();
}
execJasmine();
};
function execJasmine() {
jasmineEnv.execute();
}
})();
</script>
我希望这会有所帮助。