我有一个带有配置变量的类
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 variables
(例如config.LOGGER或config.LOGGER_TARGETS)来测试我的testMethod
?
我该如何访问和设置它?
答案 0 :(得分:1)
实际上,您现在可以测试testMethod
。
该方法根据您要测试的内容而有所不同。
如果要测试在创建新实例期间是否调用了此方法,请对其进行模拟并检查是否使用必需的参数调用了该方法。如果要测试loggerInstance.level
和loggerInstance.target_name
的值正确,请稍后再检查。
如果要测试方法的逻辑,请使用params进行调用并检查返回的值。
此外,您可以实现依赖关系反转,并获取Logger类以通过构造函数参数接收配置变量。在使用此类的代码中从@/libs/config
传递参数,并在测试中传递测试参数。从可伸缩性和体系结构的角度来看,这要好得多。