【发布时间】:2017-02-20 21:22:10
【问题描述】:
我正在创建现有的每个数据结构,并且正在运行 quint 测试。我测试了构造函数,确保最初长度为零并且顶点为空,但测试 push .....我应该去
var stack = new Stack()
var testStack = new Stack()
stack.push(22)
testStack.push(22)
然后断言它们在深度上是相等的?
或者断言栈的深度是否等于 {Stack: top= Node...etc} 手动写出应该是什么?
【问题讨论】:
-
那会测试什么?当你调用它两次时,相同的代码会做同样的事情吗?也许是一个很好的测试,取决于函数的作用,但不是很有价值。所有单元测试都应该测试被测代码是否完成了它应该做的事情。换句话说,
push的测试应该测试推送的值是否在数据结构中。因为我不知道你的push方法是做什么的,所以我只能说。 -
好的。所以断言(stack.top.data,22)
-
现在唯一的问题是,在 javascript 中,我试图在操作后测试堆栈的前后长度值,但它们具有相同的值,即使堆栈操作有效
-
看来你想做的是
var stack = new Stack(); var before = stack.length; stack.push(22); var after = stack.length; assert(after - before, 1);
标签: javascript unit-testing data-structures