做TDD测试遇到这样一个题目,很是迷惑,
var collection_a = [0.8, 0.6, 0.4, 0.2, 0]; var collection_b = [0.7, 0.4, 0.1, -0.2]; it('根据给定数字无限分割至小于等于0', function() { spyOn(Math, 'random').andReturn(0.1); var result = split_to_zero(0.2);
最迷惑的地方是
spyOn(Math, 'random').andReturn(0.1);
spyOn,监听的意思,这句话就是说,监听Math中的random方法,当我们调用其方法就返回0.1。
andReturn(0.1);
这个是返回0.1。
var number = Math.random() 即 number = 0.1
这篇博客发表的意义不仅仅是知识点,而是自己解决问题的方式,起初我看到这个题目的时候不知道是什么意思同时,根据题目要求,不知道是要做什么,我选择了问别人,别人也是不知道,给我的回答是查,然后我就自己去查每一个单词,同时真的查到了,有些问题就看情况解决了比如 这个题目中返回的是0.1,实际需要的是1,这就需要自己去动手乘10,以获取需要的数据,当有任务时,自己要灵活一下,不是不较真,而是不要太较真,根据实际需要去做,别人要看到的是结果,而不是你的过程。