温馨提示:本文翻译自stackoverflow.com,查看原文请点击:sapui5 - UI5
sapui5 karma-runner

sapui5 - UI5

发布于 2020-03-27 11:47:45

我只是从业力赛跑者开始,想用它来运行我的单元测试。我的应用程序的结构非常标准,但是我无法设置karma.conf.js文件。我尝试将业力定向到allTests.js引用所有单元测试文件的文件(通过unitTests.qunit.html文件进行测试时,所有工作均按预期方式进行)。allTests.js文件的路径

webapp/test/unit/allTests.js

这是karma.conf.js文件相关部分的样子:

config.set({    
    openui5: {
      path: 'https://openui5.hana.ondemand.com/1.65.1/resources/sap-ui-core.js'
    },

    client: {
      openui5: {
        tests: [
          'test/unit/allTests'
        ],
        config: {
          language: 'EN',
          resourceroots: {
            'test': './webapp/test'
          }
        } 
      }
    },

    basePath: 'webapp',

    frameworks: ['qunit', 'openui5'],

    files: [
      { pattern: '**', included: false, served: true, watched: true }
    ],

执行后,我假设业力将能够找到该allTests.js文件,但是,它将引发此错误。

03 07 2019 14:50:48.462:WARN [web-server]: 404: /webapp/test/unit/allTests.js
Firefox 66.0.0 (Ubuntu 0.0.0) ERROR
Error: failed to load 'test/unit/allTests.js' from ./webapp/test/unit/allTests.js: 404 - Not Found at https://openui5.hana.ondemand.com/1.65.1/resources/sap-ui-core.js:86:37

有人看到问题出在哪里吗?这是我正在CDNsap-ui-core.js某种方式弄乱路径的事实,并且系统正在AllTests.jsopenui.hana服务器上寻找文件。如果是,该如何解决?

查看更多

查看更多

提问者
Jozef
被浏览
59
Jozef 2019-07-04 15:41

解决了。我所要做的就是给folow中教程- https://help.sap.com/viewer/468a97775123488ab3345a0c48cadd8f/7.52.3/en-US/ae448243822448d8ba04b4784f4b09a0.html

问题在于,本教程中使用的/ base /路由实际上是conf文件中指向basePath的路由,我没有在任何地方进行解释,但似乎可以使用。因此,我不得不更新resourceroots部分并在其中使用base。所以现在文件看起来像这样

config.set({    
    openui5: {
      path: 'https://openui5.hana.ondemand.com/1.65.1/resources/sap-ui-core.js'
    },

    client: {
      openui5: {
        tests: [
          'test/unit/allTests'
        ],
        config: {
          language: 'EN',
          resourceroots: {
            'test': './base/test'
          }
        } 
      }
    },

    basePath: 'webapp',

    frameworks: ['qunit', 'openui5'],

    files: [
      { pattern: '**', included: false, served: true, watched: true }
    ],