我从 JS 单元测试开始,很难弄清楚如何使用 Jasmine 间谍创建有意义的测试。
it('should take an array of shopping items', function() {
spyOn(checkObj, 'getTotal');
checkObj.getTotal([1, 2, 3]);
expect(checkObj.getTotal).toHaveBeenCalledWith(jasmine.any(Array));
});
使用上面我创建的测试摘录作为示例,我看不出这是一个有用的测试,因为我对 getTotal 的调用是硬编码在规范中的。但与此同时,我想确保传递的参数是一个数组,而不是其他类型……它的硬编码我确信它是错误的。
有人可以就我应该如何思考/处理这种类型的测试场景提供一些指导吗