我有现有服务,需要使用单元测试进行介绍。 无法处理以下情况:
const exampleVariable = 'test';
export class Class {
testMethod() {
if (!exampleVariable ) {
throw Error('There is no exampleVariable!');
}
}
}
当发生错误时,如何更改'exampleVariable'的值以解决问题?
答案 0 :(得分:0)
我认为这不可能进行单元测试。在此实现中,class方法依赖于外部状态(exampleVariable的值)来完成其工作。相反,最好将此数据作为方法参数传递:
export class Class {
testMethod(exampleVariable) {
if (!exampleVariable) {
throw new Error('There is no exampleVariable!');
}
}
}
测试看起来像这样:
let myClass = new Class();
expect(myClass.testMethod(false)).toThrow(new Error('There is no exampleVariable!'))