我正在尝试为混合应用程序编写角度组件的单元测试。有问题的组件在其方法之一中使用“ let var = angular.element(.....)”,这是导致错误的代码。
项目运行良好,一切正常。
但是在spec.ts文件中,默认测试
it('should create', () => {
expect(component).toBeTruthy();
});
因果报应导致错误“参考错误:未定义角度”。
我试图寻找一种解决方案,但找不到与此相关的任何内容(存在一个错误相同的问题,但那些项目使用了AngularJS和已弃用的bower软件包)。我还尝试在Angular.json文件的test =>脚本中声明角度节点模块的路径,但这导致另一个因果报应超时的错误。我想知道此问题是否特定于混合应用程序?
答案 0 :(得分:0)
在看不到更多设置的情况下很难说出问题出在哪里,但是这是我在混合应用程序中设置angularJS测试所做的一些事情。
npm install angular-mocks -s
tsconfig.spec.json
中,将angular
添加到“类型”,如下所示"compilerOptions": {
"outDir": "../out-tsc/spec",
"types": [
"jasmine",
"angular",
"node"
]
test.ts
中:import "angular-mocks";
beforeEach(angular.mock.module('your-module'));
希望这至少对您有所帮助。
答案 1 :(得分:0)
您可以在Karma配置中添加AngularJs lib文件。 karma.conf.js具有文件选项,您可以在其中提供AngularJs lib文件夹的路径:
文件:[{pattern:'PATH_TO_ANGULARJS_LIB_FOLDER / angular / *。js',观看次数:错误}]