我对整个 Jasmine 的事情还是陌生的,在过去的几个小时里我陷入了这个问题。 我尝试使用 loadFixture() 加载外部夹具文件。 我使用 Jasmine 2.0.0 和 Jasmine-jQuery 2.0.5。
ReferenceError: loadFixtures is not defined
at Suite.<anonymous> (--appname--/app/assets/Tester/spec/ChannelSpec.js:5:6)
at Env.describe (--appname--/app/assets/Tester/lib/jasmine-2.0.0/jasmine.js:613:25)
at jasmineInterface.describe (--appname--/app/assets/Tester/lib/jasmine-2.0.0/boot.js:37:18)
at Suite.<anonymous> (--appname--/app/assets/Tester/spec/ChannelSpec.js:2:3)
at Env.describe (--appname--/app/assets/Tester/lib/jasmine-2.0.0/jasmine.js:613:25)
at jasmineInterface.describe (--appname--/app/assets/Tester/lib/jasmine-2.0.0/boot.js:37:18)
at --appname--/app/assets/Tester/spec/ChannelSpec.js:1:1
在 Chromium 控制台中
Uncaught TypeError: Cannot set property 'spiedEventsKey' of undefined
这是 ChannelSpec.js 中的行
1. describe('Channel', function() {
2. describe('Test Restriction', function() {
3. var $httpBackend,service;
4. // jasmine.getFixtures().proxyCallTo_('load', 'fixtures.html')
5. loadFixtures('fixtures.html');
我在 Ubuntu 14.04 上工作,主要使用 Chromium,但我在 Firefox 上试过,因为有人建议它是 Same-Origin Policy , 但它产生了类似的错误。
---已解决---
最后加载jasmine-jquery就解决了
<script type="text/javascript" src="lib/jasmine-2.0.0/jasmine.js"></script>
<script type="text/javascript" src="lib/jasmine-2.0.0/jasmine-html.js"></script>
<script type="text/javascript" src="lib/jasmine-2.0.0/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="lib/jasmine-2.0.0/boot.js"></script>
<script type="text/javascript" src="lib/jasmine-2.0.0/jasmine-jquery.js"></script>
最佳答案
确保在加载 Jasmine-jQuery 库之前加载 Jasmine。
关于javascript - Jasmine-jQuery loadFixtures 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24531674/