我在运行单元测试以检查某个decimal值是否符合我的预期时遇到问题。这是我试过的:func Test_example(t *testing.T) { t.Run("test if two decimals are equal", func(t *testing.T) { sum_amount := decimal.NewFromFloat(1000.00) .Add(decimal.NewFromFloat(5000.00)) require.Equal(t, decimal.NewFromFloat32(6000.00), sum_amount)) })}如您所见,sum_amount是一个decimal. 然而,比较测试用例中的两者与指数等略有不同。我如何正确断言这些值与 stretr/testify 相等?例如这里的差异:Diff:--- Expected+++ Actual@@ -4,6 +4,6 @@ abs: (big.nat) (len=1) {- (big.Word) 6+ (big.Word) 6000 } }),- exp: (int32) 3+ exp: (int32) 0 }
1 回答
德玛西亚99
TA贡献1770条经验 获得超3个赞
您可以使用decimal.Equal
以便可以使用库比较值以返回 abool
然后只测试该结果是否为true
.
像这样:
require.Equal(t, decimal.NewFromFloat(6000.00).Equal(sum_amount), true)
另外,您可以检查结果是否正在true
使用,而不是比较两个值是否相等require.True
这是最终结果:
require.True(t, decimal.NewFromFloat(6000.00).Equal(sum_amount))
- 1 回答
- 0 关注
- 73 浏览
添加回答
举报
0/150
提交
取消