gpt4 book ai didi

javascript - Jest - 类中的模拟变量

转载 作者:行者123 更新时间:2023-11-30 20:12:59 24 4
gpt4 key购买 nike

我有一个带有配置变量的类

import  config  from '@/libs/config';

export class Logger {

constructor () {
this.level = this.testMethod(config.LOGGER);
this.target_name = this.testMethod(config.LOGGER_TARGETS);
}

例如,我有一个方法,我在其中使用config 变量

  testMethod(config) {
return config;
}

是否可以模拟配置变量(如config.LOGGER 或config.LOGGER_TARGETS)来测试我的testMethod?我如何访问和设置它?

最佳答案

实际上,您现在可以测试 testMethod。该方法因您要测试的内容而异。如果要测试在创建新实例期间是否调用了此方法,只需模拟它并检查是否使用所需参数调用它。如果您想测试 loggerInstance.levelloggerInstance.target_name 是否具有正确的值,只需在之后检查它们即可。

如果你想测试方法的逻辑——用参数调用它并检查返回值。

此外,您还可以实现依赖倒置并让 Logger 类通过构造函数参数接收配置变量。在使用此类的代码中传递来自 @/libs/config 的参数,并在测试中传递测试参数。从可扩展性和架构的 Angular 来看,它要好得多。

关于javascript - Jest - 类中的模拟变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52202241/

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