java中assertEquals_Junit 测试: assertEquals的使用

本文介绍了一个Java类用于处理浮点数的加减运算,并使用BigDecimal来确保精度。文章通过具体的示例代码展示了如何进行操作,并包含了单元测试部分,指出了setup方法中可能存在的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我写了如下的一个类:importjava.math.BigDecimal;publicclassDecimalClass{publicBigDecimaladdFloat(floatf1,floatf2){BigDecimalfb1=newBigDecimal(f1);BigDecimalfb2=newBigDecim...

我写了如下的一个类:

import java.math.BigDecimal;

public class DecimalClass {

public BigDecimal addFloat(float f1, float f2) {

BigDecimal fb1 = new BigDecimal(f1);

BigDecimal fb2 = new BigDecimal(f2);

fb1.add(fb2);

return fb1;

}

public BigDecimal subFloat(int f1, int f2) {

BigDecimal fb1 = new BigDecimal(f1);

BigDecimal fb2 = new BigDecimal(f2);

if(fb1.compareTo(fb2)>0) {

return fb1.subtract(fb2);

} else {

return fb2.subtract(fb1);

}

}

}

然后用Junit测试 测试类如下

package edu.hunnu.demo.test;

import java.math.BigDecimal;

import junit.framework.TestCase;

import org.junit.Ignore;

import org.junit.Test;

import edu.hunnu.demo.DecimalClass;

public class DecimalClassTest extends TestCase{

private DecimalClass dec;

public void setup() {

dec = new DecimalClass();

}

@Test

public void testAddFloat() {

float f1 = 150.00f;

float f2 = 100;

float expect = 250.00f;

BigDecimal bd = dec.addFloat(f1, f2);

System.out.print("bd's value after add: "+bd);

assertEquals(expect, bd.floatValue(),0.1f);

}

@Ignore

public void testSubFloat() {

int f1 = 100;

int f2 = 150;

BigDecimal bd = dec.subFloat(f1, f2);

System.out.print("bd's value after substract: "+bd);

assertEquals(50, bd.intValue());

}

}

想请教的是为什么会两个测试都是讨厌的red,请指出问题原因并给出正确的测试类,感激不尽!!

我找到原因了,setup的u字母没有大写。郁闷啊 !!!

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值