angular 指令中包含webworker 在单元测试中一直报找不到worker 文件错误 如何解决?

发布于 2022-09-01 07:37:13 字数 1990 浏览 24 评论 0

//directive.js
 var option = {
      'typeNumber': 4,
       'errorCorrectLevel':'L',
       'text': $scope.text
    }
$scope.worker = new Worker('/js/myworkers.js');
$scope.myworker.postMessage(option);

//test.js
describe('Directives test', function(){
    var $compile, $scope, $templateCache, $httpBackend,workerValue,$timeout;
    beforeEach(module('directives'));
    ...
    ...
    ...
it('qrcode test', function(){
        $httpBackend.expectGET('webroot/js/myworkers.js').respond(200,'woker');
        var link = $compile('<my-qrcode value="qrcode_text" change="false"></my-qrcode>');
        var element = link($scope);
        $scope.$digest();
        console.log(element.html());
        //expect(element.html()).toEqual(workerValue)
});

//karma.conf.js
...
    // list of files / patterns to load in the browser
    files: [
    'testjs/jquery.js',
    'webroot/js/lib/angular/angular.js',
    'webroot/js/lib/angular/angular-route.js',
    // 'webroot/js/lib/angular/angular-animate.js',
    'webroot/js/lib/angular/angular-resource.js',

    'webroot/js/lib/angular/angular-sanitize.js',
    'webroot/js/lib/angular/*.min.js',
    'webroot/js/lib/bootstrap-ui/*.js',
    // 'webroot/js/lib/angular/angular-loader.js',
    'webroot/js/lib/angular/angular-mocks.js',
    'webroot/js/myworkers.js',
    'webroot/js/bootstrap.js',
    'webroot/js/services.js',
    'webroot/js/directives.js',
    'webroot/js/filters.js',
    'webroot/js/app.js',
    'webroot/js/controllers.js',
    'testjs/*.js'
    ],
 ...


 

报错报错提示

![图片描述][2]

debug中的 resource

图片描述

我看到有人说 这样就可以了
但是现在不行
谁能说说这是什么情况吗??怎么解决呢??

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

享受孤独 2022-09-08 07:37:13

..把路径写好就好了。。。。 new work("base/webroot/js/myworker.js")

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文