Javascript 读取在Deno中记录到控制台的值

Javascript 读取在Deno中记录到控制台的值,javascript,typescript,console,deno,Javascript,Typescript,Console,Deno,如何读取Deno中记录到控制台的值?我试图编写一个测试,检查函数是否将正确的值记录到控制台 我已经试过了,但是它只能读取手工输入到stdin中的值 这更像是一种黑客行为,但在我的情况下有效 类二进制搜索树{ // ... inOrderPrint(){ 如果(左){ this.left.inOrderPrint(); } console.log(this.value); 如果(这个。对){ this.right.inOrderPrint(); } } // ... } 测试(“BST:应按顺序

如何读取Deno中记录到控制台的值?我试图编写一个测试,检查函数是否将正确的值记录到控制台


我已经试过了,但是它只能读取手工输入到stdin中的值

这更像是一种黑客行为,但在我的情况下有效

类二进制搜索树{
// ...
inOrderPrint(){
如果(左){
this.left.inOrderPrint();
}
console.log(this.value);
如果(这个。对){
this.right.inOrderPrint();
}
}
// ...
}
测试(“BST:应按顺序打印元素”,()=>{
设a=[];
const log=console.log;
console.log=x=>{
a、 推(x);
};
const bst=新的二进制搜索树(1);
bst.insert(8);
bst.insert(5);
bst.insert(7);
bst.insert(6);
bst.insert(3);
bst.insert(4);
bst.insert(2);
bst.inOrderPrint();
console.log=log;
资产质量(a.join(“”,“12345678”);

});这是一个有效的解决方案。另一种可能的捕获方法是覆盖
Deno.core.print
,所有
console
操作都在内部使用它。不幸的是,覆盖
Deno.stdout
将无法工作,因为
Deno.core.print
当前独立于
Deno.stdout