新手提问,断言调试失败?
lua吧
全部回复
仅看楼主
level 3
摆渡蟹 楼主
110 local result = formula.single_recover_hp(self, enemy, 5)
111 print (result)
112 assert_equal(result, 5064.45)
显示结果:
5064.45
Assert failed: expected 'nil' to be equal to 'nil'
stack traceback:
/usr/local/share/lua/5.2/telescope.lua:175: in function 'assert_equal'
formula_spec.lua:112: in function <formula_spec.lua:103>
...
这是为什么啊,用同样方法,之前都是通过的
2014年04月08日 12点04分 1
level 13
其实提示的出错信息:
telescope.lua:175: in function 'assert_equal'
表明错误是在telescope.lua这个程序里面的第175行,函数assert_equal
自建的函数可能一些考虑不周或者环境变化造成失败。
这种简单功能的函数,你可以自己写啊。或者直接写一句:
assert(result == 5064.45, "the result is equal 5064.45")。
2014年04月09日 01点04分 3
level 8
楼主,浮点数一般是不能直接用等号来判断是否相等的。
大部分的浮点数的表示都会有精度丢失,
你print(result)出来的显示结果是5064.45,但实际上result有可能是5064.449999999999995,
所以你的assert就失败了。
2014年04月09日 07点04分 4
1