Testing JavaScript readline with Jasmine

Testing JavaScript readline with Jasmine

本文关键字:Jasmine with readline JavaScript Testing      更新时间:2023-09-26

我有一个名为move的函数,允许用户输入答案。

move:function() {
  print("Enter number between 1 - 9");                         
  var userInput = readline();
  counter++
}

我的茉莉花测试是这样的

it("takes turn playing pieces", function() {
  counter = 2;                                                   
  game = new PlayGame();      
  game.move()
  expect(counter).toEqual(3)
}

错误信息: ReferenceError: readline is not defined。我觉得问题是jasmine不知道readline是什么。我希望在测试套件中获得用户输入的事实似乎是不对的。我可以测试什么呢?


,而只是看看我是否得到了正确的输出(这就是为什么我要测试counter。你们怎么看?

您可以将readline()替换为方法调用ui.readline()(对象ui是readline等方法的包装器)-然后在测试中您可以监视readline方法:

spyOn(ui, 'readline');