0

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

我已经尝试过了,但它只能读取手动输入标准输入的值。从 Deno 标准输入获取值

4

1 回答 1

1

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

class BinarySearchTree<T> {
// ...
inOrderPrint() {
    if (this.left) {
      this.left.inOrderPrint();
    }
    console.log(this.value);
    if (this.right) {
      this.right.inOrderPrint();
    }
  }
// ...
}


test("BST: should print elements in order", () => {
  let a = [];
  const log = console.log;
  console.log = x => {
    a.push(x);
  };
  const bst = new BinarySearchTree<number>(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;
  assertEquals(a.join(""), "12345678");
});

于 2020-01-04T17:15:20.360 回答