karma+typescript+SystemJS——缓存问题

karma +typescript + SystemJS -- cache problems

本文关键字:问题 缓存 karma+typescript+SystemJS      更新时间:2023-09-26

Config:

module.exports = function (config) {
    config.set({
        basePath: '',
        frameworks: ['jspm', 'jasmine'],
        files: [ /*all from jspm*/],
        plugins: [
            "karma-jspm",
            'karma-jasmine',
            'karma-chrome-launcher'
        ],
        jspm: {
            loadFiles: ['src/*.ts'], // here my tests are located
            packages: "jspm/"
        },
        proxies: {
            '/src/': '/base/src/',      //to simplify /base url 
            '/jspm/': '/base/jspm/'
        },
        reporters: ['progress'],
        port: 9876,
        colors: true,
        logLevel: config.LOG_INFO,
        autoWatch: true,
        browsers: ['Chrome'],
        singleRun: false,
        concurrency: Infinity
    })
}

例如,在"src"目录中,我们有带测试... expect(true).toBe(false) ...test1.ts

Karma开始并显示测试失败,OK

然后i FIX测试... expect(true).toBe(true) ...

业力执行测试(所以它观察变化),但是。。。测试仍然失败。当我在9876打开Chrome时,我看到它加载了test1.ts和test1.ts!trsnstacked'由XHR(system.js工作),但它的内容仍然没有改变,响应状态-200(不是304),"禁用缓存"answers"清理浏览器缓存"都没有帮助。

我看标题:日期已更改最初是日期:2015年12月1日星期二09:51:26 GMT然后日期:2015年12月1日星期二09:53:40 GMT(奇怪,但*.ts的模拟类型是video/mp2v,而不是这个问题)

但内容——不是——它仍然很古老。

在我使用typescript预处理器和原生Karma模块加载程序之前,哪里没有这样的问题,但在system.js加载程序中发生了这种问题,我不知道谁应该对此负责。

然后我重新开始因果报应,它测试得很好。

修复了这两个问题(无效的mime和缓存)在karma(mime)和karma jspm(缓存)源代码中,如果有人遇到同样的问题,则向这些团队提出撤回请求可以查看

https://github.com/Workiva/karma-jspm/pull/115

https://github.com/karma-runner/karma/pull/1736