Dependency injection Aurelia依赖注入测试

Dependency injection Aurelia依赖注入测试,dependency-injection,aurelia,jspm,Dependency Injection,Aurelia,Jspm,我一直在使用aurelia应用程序,在测试时遇到了一个错误 我正在尝试使用aurelia依赖项注入,它已经是我通过jspm包括的其他包的依赖项,比如aurelia框架,aurelia路由器,aurelia模板资源,aurelia模板路由器当我尝试注入时,它在我的浏览器上运行良好。然而,当我尝试使用业力进行测试时,它说 27 05 2016 09:45:18.202:WARN [web-server]: 404: /base/aurelia-dependency-injection.js Chro

我一直在使用aurelia应用程序,在测试时遇到了一个错误

我正在尝试使用
aurelia依赖项注入
,它已经是我通过
jspm
包括的其他包的依赖项,比如
aurelia框架
aurelia路由器
aurelia模板资源
aurelia模板路由器
当我尝试注入时,它在我的浏览器上运行良好。然而,当我尝试使用业力进行测试时,它说

27 05 2016 09:45:18.202:WARN [web-server]: 404: /base/aurelia-dependency-injection.js
Chrome 50.0.2661 (Linux 0.0.0) ERROR
Error: XHR error (404 Not Found) loading /home/cyberkiller/test_project/aurelia-dependency-injection.js
Error loading /home/cyberkiller/test_project/aurelia-dependency-injection.js as "aurelia-dependency-injection" from /home/cyberkiller/test_project/src/users/list.ts
My
package.json
具有以下jspm依赖项:

  "jspm": {
    "dependencies": {
      "aurelia-animator-css": "npm:aurelia-animator-css@^1.0.0-beta.1.1.2",
      "aurelia-bootstrapper": "npm:aurelia-bootstrapper@^1.0.0-beta.1.1.4",
      "aurelia-fetch-client": "npm:aurelia-fetch-client@^1.0.0-beta.1.1.1",
      "aurelia-framework": "npm:aurelia-framework@^1.0.0-beta.1.1.4",
      "aurelia-history-browser": "npm:aurelia-history-browser@^1.0.0-beta.1.1.4",
      "aurelia-loader-default": "npm:aurelia-loader-default@^1.0.0-beta.1.1.3",
      "aurelia-logging-console": "npm:aurelia-logging-console@^1.0.0-beta.1.1.4",
      "aurelia-pal-browser": "npm:aurelia-pal-browser@^1.0.0-beta.1.1.4",
      "aurelia-polyfills": "npm:aurelia-polyfills@^1.0.0-beta.1.0.3",
      "aurelia-router": "npm:aurelia-router@^1.0.0-beta.1.1.3",
      "aurelia-templating-binding": "npm:aurelia-templating-binding@^1.0.0-beta.1.1.2",
      "aurelia-templating-resources": "npm:aurelia-templating-resources@^1.0.0-beta.1.1.3",
      "aurelia-templating-router": "npm:aurelia-templating-router@^1.0.0-beta.1.1.2",
      "bootstrap": "github:twbs/bootstrap@^3.3.5",
      "fetch": "github:github/fetch@^0.11.0",
      "font-awesome": "npm:font-awesome@^4.6.1",
      "simple-line-icons": "npm:simple-line-icons@^2.2.4",
      "text": "github:systemjs/plugin-text@^0.0.3"
    },
    "devDependencies": {
      "babel": "npm:babel-core@^5.8.24",
      "babel-runtime": "npm:babel-runtime@^5.8.24",
      "core-js": "npm:core-js@^1.1.4"
    }
  }
我确实找到了一个解决办法,那就是在我的
package.json
中显式地添加
aurelia依赖项注入

“aurelia依赖项注入”:“npm:aurelia依赖项-injection@1.0.0-beta.1.2.3“

这使得我的
package.json
看起来像:

"jspm": {
    "dependencies": {
      "aurelia-animator-css": "npm:aurelia-animator-css@^1.0.0-beta.1.1.2",
      "aurelia-bootstrapper": "npm:aurelia-bootstrapper@^1.0.0-beta.1.1.4",
      "aurelia-dependency-injection": "npm:aurelia-dependency-injection@1.0.0-beta.1.2.3",
      "aurelia-fetch-client": "npm:aurelia-fetch-client@^1.0.0-beta.1.1.1",
      "aurelia-framework": "npm:aurelia-framework@^1.0.0-beta.1.1.4",
      "aurelia-history-browser": "npm:aurelia-history-browser@^1.0.0-beta.1.1.4",
      "aurelia-loader-default": "npm:aurelia-loader-default@^1.0.0-beta.1.1.3",
      "aurelia-logging-console": "npm:aurelia-logging-console@^1.0.0-beta.1.1.4",
      "aurelia-pal-browser": "npm:aurelia-pal-browser@^1.0.0-beta.1.1.4",
      "aurelia-polyfills": "npm:aurelia-polyfills@^1.0.0-beta.1.0.3",
      "aurelia-router": "npm:aurelia-router@^1.0.0-beta.1.1.3",
      "aurelia-templating-binding": "npm:aurelia-templating-binding@^1.0.0-beta.1.1.2",
      "aurelia-templating-resources": "npm:aurelia-templating-resources@^1.0.0-beta.1.1.3",
      "aurelia-templating-router": "npm:aurelia-templating-router@^1.0.0-beta.1.1.2",
      "bootstrap": "github:twbs/bootstrap@^3.3.5",
      "fetch": "github:github/fetch@^0.11.0",
      "font-awesome": "npm:font-awesome@^4.6.1",
      "simple-line-icons": "npm:simple-line-icons@^2.2.4",
      "text": "github:systemjs/plugin-text@^0.0.3"
    },
    "devDependencies": {
      "babel": "npm:babel-core@^5.8.24",
      "babel-runtime": "npm:babel-runtime@^5.8.24",
      "core-js": "npm:core-js@^1.1.4"
    }
  }
当我更新所有内容并构建和运行测试时,它不再抱怨,并且成功执行。然而,我不确定这是否只是一种解决方法,或者是一种方法。有没有更好的方法来处理这个问题


提前感谢

如何导入依赖项注入?如果您使用这个:
import{Container}来自“aurelia依赖项注入”,您的解决方案应该是正确的。Karma不是为Aurelia构建的,但是Aurelia框架是为DI构建的,所以也许Aurelia知道Karma不知道的一个解决方法。不过你也可以使用Aurelia框架:这对我有用
从“Aurelia框架”导入{inject,Container}并且我可以运行我的单元测试。对不起,我之前应该提到这一点,我使用的是TypeScript,我正在以这种方式导入自动注入:
import{autoinject}来自“aurelia依赖项注入”您是否在karma配置中包含了node/jspm modules文件夹?我假设您正在使用一个已经运行的测试设置(如骨架/插件骨架?),如何导入依赖项注入?如果您使用这个:
import{Container}来自“aurelia依赖项注入”,您的解决方案应该是正确的。Karma不是为Aurelia构建的,但是Aurelia框架是为DI构建的,所以也许Aurelia知道Karma不知道的一个解决方法。不过你也可以使用Aurelia框架:这对我有用
从“Aurelia框架”导入{inject,Container}并且我可以运行我的单元测试。对不起,我之前应该提到这一点,我使用的是TypeScript,我正在以这种方式导入自动注入:
import{autoinject}来自“aurelia依赖项注入”您是否在karma配置中包含了node/jspm modules文件夹?我假设您正在使用一个已经运行的测试设置(比如骨架/插件骨架?)