Unit testing 打字脚本的业力-can';我无法让代理服务器为我的文件提供服务(否则我无法找到它) 更新

Unit testing 打字脚本的业力-can';我无法让代理服务器为我的文件提供服务(否则我无法找到它) 更新,unit-testing,typescript,karma-jasmine,Unit Testing,Typescript,Karma Jasmine,当我把我的KioskTemplates.html放在测试文件夹的根目录下时,这就起作用了。没有办法使用相对路径吗?或者我需要将我的“basePath”设置为karma.conf文件中的最低路径吗 所以现在我想做的是: 我有一个Typescript模块,我正试图用Karma/Jasmine进行测试 此模块有一个类,其方法名为renderUI 此方法使用jQuery$.get方法从HTML文件中获取胡子模板 我想用Karma/Jasmine来测试一下 我将文件包含在karma.conf.js中,带有

当我把我的KioskTemplates.html放在测试文件夹的根目录下时,这就起作用了。没有办法使用相对路径吗?或者我需要将我的“basePath”设置为karma.conf文件中的最低路径吗

所以现在我想做的是:
  • 我有一个Typescript模块,我正试图用Karma/Jasmine进行测试
  • 此模块有一个类,其方法名为renderUI
  • 此方法使用jQuery$.get方法从HTML文件中获取胡子模板
  • 我想用Karma/Jasmine来测试一下
  • 我将文件包含在karma.conf.js中,带有“included:false,service:true”
  • 然后,我尝试在“/KioskTemplates.html”上代理它,以便我的$.get请求能够工作
  • 问题
  • 我的测试一直出错,有一个错误
  • 警告[web服务器]:404:/base/KioskTemplates.html

  • 我尝试过使用include文件的绝对路径,但是在web服务器上找不到它
  • 有人有什么建议/帮助吗? 代码 这里是renderUI方法

            public renderUI() {
    
    
            var visitReasonData = this.setupVisitReasonData()
    
    
            var thePromise:Observable<any> = new Observable(observer => {
                $.get('KioskTemplates.html', templates => {  
                    let theTemplate = $(templates).filter('#tmpVisitReasons').html();
                    let html = Mustache.to_html(theTemplate, visitReasonData);
                    $('#tblVisitReasons').html(html);
    
    
    
                    applyFontSize('.Panels', this.page);
                    changeColorsFromArray([
                        '.fa-circle-thin','.fa-check','.fa-square-o','.fa-check-square-o','.fa-arrow-circle-o-right','.fa-arrow-circle-o-left','.fa-text-height'],
                        '.formbutt',
                        'background-color'
                    )
                    window.scrollTo(0, 0);
    
                }).done(() => { observer.next(true) })
    
            })
    
            return thePromise
        }
    
    错误

    Chrome 60.0.3112 (Windows 7 0.0.0): Executed 218 of 218 (1 FAILED) (6.172 secs / 5.603 secs)
    21 09 2017 11:23:10.577:INFO [compiler.karma-typescript]: Compiling project using Typescript 2.5.2
    21 09 2017 11:23:11.282:ERROR [compiler.karma-typescript]: node_modules/@types/jquery/index.d.ts(2957,63): error TS2304: Cannot find name 'Iterable'.
    
    21 09 2017 11:23:11.282:ERROR [compiler.karma-typescript]: ../../../Websites/VirtualOneStop/Vos/vosnet/JavaScript/StaffEfficiency/node_modules/rxjs/Observable.d.ts(58,60): err
    or TS2693: 'Promise' only refers to a type, but is being used as a value here.
    
    21 09 2017 11:23:11.527:INFO [compiler.karma-typescript]: Compiled 17 files in 942 ms.
    21 09 2017 11:23:12.166:INFO [bundler.karma-typescript]: Bundled imports for 1 file(s) in 138 ms.
    21 09 2017 11:23:12.326:INFO [watcher]: Changed file "C:/[hidden]/[hidden]/[hidden]/[hidden]/[hidden]/[hidden]/Source/Websites/VirtualOneStop/Vos/vosnet/JavaScript/Sta
    ffEfficiency/source/KioskVisitReason.ts".
    21 09 2017 11:23:12.340:INFO [watcher]: Changed file "C:/Users/[hidden]/[hidden]/[hidden]/Temp/karma-typescript-bundle-23924qLtCs3Pz64A0.js".
    21 09 2017 11:23:12.848:WARN [web-server]: 404: /absoluteC:/[hidden]/[hidden]/[hidden]/[hidden]/[hidden]/[hidden]/Source/Testing/JavascriptUnitTests/StaffEfficiency/no
    de_modules/font-awesome/fonts/fontawesome-webfont.woff2?v=4.7.0
    21 09 2017 11:23:12.856:WARN [web-server]: 404: /absoluteC:/[hidden]/[hidden]/[hidden]/[hidden]/[hidden]/[hidden]/Source/Testing/JavascriptUnitTests/StaffEfficiency/no
    de_modules/font-awesome/fonts/fontawesome-webfont.woff?v=4.7.0
    ........21 09 2017 11:23:13.021:WARN [web-server]: 404: /absoluteC:/[hidden]/[hidden]/[hidden]/[hidden]/[hidden]/[hidden]/Source/Testing/JavascriptUnitTests/StaffEffic
    iency/node_modules/font-awesome/fonts/fontawesome-webfont.ttf?v=4.7.0
    ........................................................................
    ................................................................................
    ......................................................21 09 2017 11:23:14.026:WARN [web-server]: 404: /base/KioskTemplates.html
    
    LOG: true
    ...
    LOG: 0
    .
    Chrome 60.0.3112 (Windows 7 0.0.0): Executed 218 of 218 SUCCESS (1.241 secs / 0.62 secs)
    

    所以我终于明白了

    我的问题是,
    basePath
    值需要真正成为基础

    因此,与其这样做

    config.set({
            // base path that will be used to resolve all patterns (eg. files, exclude)
            basePath: '',
    
        // frameworks to use
        // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
        frameworks: ['jasmine', 'karma-typescript'],
    
        // list of files / patterns to load in the browser
        files: [
          { pattern: "../../../../Websites/VirtualOneStop/Vos/vosnet/OneStopEfficiency/KioskTemplates.html", included: false, served: true, nocache: true },
          { pattern:"../../../../Websites/VirtualOneStop/Vos/vosnet/JavaScript/StaffEfficiency/source/**/*.ts"},
          { pattern:"../../../../Testing/JavascriptUnitTests/StaffEfficiency/VOSGreeter/KioskVisitReasonsTest.ts"},
        ],
    
        proxies: {
          "/KioskTemplates.html": "/base/KioskTemplates.html"},
    
    我现在正在做这个

     config.set({
    
            // base path that will be used to resolve all patterns (eg. files, exclude)
            basePath: '../../../../../Source',
    
        // frameworks to use
        // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
        frameworks: ['jasmine', 'karma-typescript'],
    
        // list of files / patterns to load in the browser
        files: [
          { pattern: "Websites/VirtualOneStop/Vos/vosnet/OneStopEfficiency/KioskTemplates.html", included: false, served: true, nocache: true },
          { pattern:"Websites/VirtualOneStop/Vos/vosnet/JavaScript/StaffEfficiency/source/**/*.ts"},
          { pattern:"Testing/JavascriptUnitTests/StaffEfficiency/VOSGreeter/KioskVisitReasonsTest.ts"},
        ],
    
        proxies: {
          "/KioskTemplates.html": "/base/Websites/VirtualOneStop/Vos/vosnet/OneStopEfficiency/KioskTemplates.html"},
    
     config.set({
    
            // base path that will be used to resolve all patterns (eg. files, exclude)
            basePath: '../../../../../Source',
    
        // frameworks to use
        // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
        frameworks: ['jasmine', 'karma-typescript'],
    
        // list of files / patterns to load in the browser
        files: [
          { pattern: "Websites/VirtualOneStop/Vos/vosnet/OneStopEfficiency/KioskTemplates.html", included: false, served: true, nocache: true },
          { pattern:"Websites/VirtualOneStop/Vos/vosnet/JavaScript/StaffEfficiency/source/**/*.ts"},
          { pattern:"Testing/JavascriptUnitTests/StaffEfficiency/VOSGreeter/KioskVisitReasonsTest.ts"},
        ],
    
        proxies: {
          "/KioskTemplates.html": "/base/Websites/VirtualOneStop/Vos/vosnet/OneStopEfficiency/KioskTemplates.html"},