【问题标题】:karma +typescript + SystemJS -- cache problemskarma +typescript + SystemJS -- 缓存问题
【发布时间】:2015-12-02 04:38:41
【问题描述】:

配置:

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”目录中,我们有test1.ts 和测试... expect(true).toBe(false) ...

Karma 启动并显示测试失败,OK

然后我修复测试... expect(true).toBe(true) ...

Karma 执行测试(因此它会观察变化),但是……测试仍然失败。 当我在 9876 打开 Chrome 时,我看到它通过 XHR 加载了“test1.ts”和“test1.ts!trsnpiled”(system.js 有效),但它的内容仍然没有改变,响应状态 - 200(不是 304),两者都没有“禁用缓存”或“清理浏览器缓存”都无济于事。

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

但内容 - 不是 - 它仍然很旧。

在我使用 typescript-preprocessor 和本机 Karma 模块加载器之前,哪里没有这样的问题,但使用 system.js 加载器时,它发生了,我不知道谁负责。

然后我重新启动业力它测试良好。

【问题讨论】:

    标签: javascript karma-runner


    【解决方案1】:

    修复了这两个问题(无效的 mime 和缓存) 在 karma (mime) 和 karma-jspm (caching) 源代码中, 向这些团队提出拉​​取请求——如果有人有同样的问题—— 可以看看

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-13
      • 2014-05-15
      • 1970-01-01
      • 2016-05-11
      • 2018-01-27
      • 2016-01-30
      • 2023-03-10
      • 2016-03-03
      相关资源
      最近更新 更多