【问题标题】:Testing ionic2 component: No provider for Form测试 ionic2 组件:没有表单提供者
【发布时间】:2016-02-17 22:48:50
【问题描述】:

我有一个使用以下指令的简单 Ionic2 组件:

@View({
  templateUrl: 'build/components/checkinDateInput/checkinDateInput.html',
  directives: [ FocusDirective, Item, Label, TextInput ],
})

测试时出现错误:No provider for Form! (Item -> Form)

我已尝试将提供程序添加到我的规范中:

beforeEachProviders(() => [Form]);

但是,Form 在 Ionic 中是私有的,因此我似乎无法导入它 (ionic-framework/util/form.d.ts):

/**
 * @private
 */
export declare class Form {
    private _blur;
...

error TS2305: Module '".../node_modules/ionic-framework/ionic"' has no exported member 'Form'.

由于无法导入,我无法在 beforeEachProviders 中模拟它,因为 Form 将是未定义的。

beforeEachProviders(() => [
    provide(Form, {useClass: MockForm})
]);

我应该能够导入Form 还是我走错了路?

【问题讨论】:

  • 经过最后一个小时的折腾,我能完成这项工作的唯一方法是在 ionic 中导出表单(例如,覆盖他们将其设为私有的事实).. 显然这不是解决问题的方法去吧,我会向 Ionic 提出这个问题,看看他们推荐什么。

标签: unit-testing angular ionic2


【解决方案1】:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 2017-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-16
    相关资源
    最近更新 更多