gpt4 book ai didi

unit-testing - 如何在测试中设置由构造函数填充的私有(private)字段?

转载 作者:搜寻专家 更新时间:2023-10-30 22:01:23 24 4
gpt4 key购买 nike

我有一个简单的组件,它应该根据当前日期预选一个值:

export class VorgangComponent implements OnInit {
private _date: Moment;

constructor() {
this._date = utc();
}

ngOnInit() {
this.preselectOption();
}

没有真正的火箭科学。
我想知道如何测试这门课。脑子里有不同的想法,但我不知道推荐的方式:

  • 日期服务(对我来说似乎有点矫枉过正)
  • 保护成员并使用类继承进行测试
  • 保护方法并使用类继承进行测试

我错过了什么吗?有什么办法可以用 Jasmine 吗?

最佳答案

Did I miss anything?

privatepublic 在 Javascript 中是不存在的,它们只是为了编译时检查。在运行时,它是完全可访问的。所以你可以只使用字符串访问器 component['_date']。唯一不好的是你失去了对返回值的任何智能感知和编译时检查

或者您可以忘记 private 关键字。风格方面,_ 已经暗示私有(private)(可能不是编译方面)。但即使在 Angular 源代码中,他们也不使用 private。他们只是使用 _。我想这是风格问题。不确定 Angular 选择这种风格背后的原因,但就我个人而言,这也是我刚刚开始使用的东西。

关于unit-testing - 如何在测试中设置由构造函数填充的私有(private)字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40153755/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com