我在尝试测试 ionViewDidLoad 方法中变化的变量值时遇到了麻烦
welcomepage.ts
@Component({...})
export class WelcomePage {
test: number = 0;
constructor(){}
ionViewDidLoad(){
this.test = 1;
}
}
welcomepage.spec.ts
it('test should equal be equal to 1', () => {
fixture.detectChanges();
expect(component.test).toBe(1)
});
但是这个测试没有成功。如果我在构造函数(this.test = 1
)中进行更改,那么它正在工作。
========更新========
似乎离子触发的ionViewDidLoad函数存在问题,它通常通过运行离子而不是在测试中工作。
答案 0 :(得分:1)
在测试过程中似乎没有调用离子生命周期事件(ionViewDidEnter,ionViewDidLoad,...),通过手动调用它可以工作:
<p>First p</p>
<p></p>
<p>"Second" p</p>
<p> </p>
<p><img class='image' src='image.jpg' /></p>
<p> </p>
<p><img class='image' src='second.jpg' /></p>
但那么我们如何确定离子确实称为ionViewDidLoad?
答案 1 :(得分:0)
您的变量未设置,因为您以错误的方式完成了此操作。您的变量名称是test,您在变量类型number
中设置值。请参阅以下代码段,希望它有所帮助。
@Component({...})
export class WelcomePage {
test: number = 0;
constructor(){}
ionViewDidLoad(){
this.test = 1;
}
}