На высоком уровне вы можете попытаться переместить извлечение base64String в его собственную функцию, а затем смоделировать эту функцию:
reader.getBase64String = () => {
return btoa(reader.result)
}
reader.onload = () => {
let base64String = reader.getBase64String()
// rest of implementation
};
Тогда в вашем тесте (это псевдокод, возможно, не скомпилируется):
MyTestReader extends Reader {
this.getBase64String = () => {
return "SSBsaWtlIHRvIExPTAo="
}
}