当前位置: 首页 > 知识库问答 >
问题:

断言类型断言的方法Equals(双,双)是不建议使用的,我需要使它像[复制]

易超
2023-03-14

好的,我正在做一个家庭作业,我必须创建一个名为“奖金”的对象。

我得做个测试。在这种情况下,我正在进行测试[GetBonuPercent]

但是,它告诉我们它不起作用,因为类型Assert中的assertEquals(double,double)方法已被弃用。

我不明白我做错了什么应该没问题

还有,很抱歉我英语不好。

我尝试了其他断言,但到目前为止,没有工作。此外,我有导入静态[org.junit.Assert.assert等于;]写在脚本中

主要方法

private float bonusPercentage;

Bonus(float bonus) {
  this.bonusPercentage = bonus;
}

public float getBonusPercent() {
  return this.bonusPercentage;
}

测试

this.bonus = new Bonus(BONUS);

assertEquals(BONUS, this.bonus.getBonusPercent());

不建议使用断言类型中的assertEquals(双、双)。

共有3个答案

佴淮晨
2023-03-14

不推荐使用assertEquals(double,double),因为应该使用较新版本的assertEquals(double,double,double)

这里的第三个参数是一个增量值。它表示两个给定的双倍值之间的可接受差异。

只需将第三个参数设置为0即可检查数字是否相等,或者使用较小的增量值。

曾光远
2023-03-14

当您找到不建议使用的方法时,您必须在文档中查找建议的替代方法。在这种情况下,你会发现你必须使用Assert.equals(双,双,双),其中最后一个双是delta,或者允许的最大差值仍然被认为是相等的,根据文档中的规范

建议的替代方法的废弃方法

乌俊健
2023-03-14

您将不得不使用assertEquals(BONUS,this.bonus.getBonusPercent(),0.01d);这将确保,比较不会失败,在某些情况下,双是不够精确。

 类似资料:
  • 例如,我正在进行web自动化测试,假设我有两个非常基本的场景: 测试a)步骤1:将记录添加到数据库步骤2:检查网站是否正确显示记录 测试b)步骤1:在网站上编辑记录步骤2:检查记录是否正确保存在数据库中 根据记录,假设它是一个带有“值”的简单文本字段 因此,对于第一种情况,我将使用Assert equal: 但是,对于第二种情况,它将是: 所以基本上它们都做相同的事情,但都是相反的,为了在断言不正

  • 我收到以下错误: 对于我的Junit测试中的这行代码,请注意,

  • 7.10. 类型断言 类型断言是一个使用在接口值上的操作。语法上它看起来像x.(T)被称为断言类型,这里x表示一个接口的类型和T表示一个类型。一个类型断言检查它操作对象的动态类型是否和断言的类型匹配。 这里有两种可能。第一种,如果断言的类型T是一个具体类型,然后类型断言检查x的动态类型是否和T相同。如果这个检查成功了,类型断言的结果是x的动态值,当然它的类型是T。换句话说,具体类型的类型断言从它的

  • 既然方法已被弃用,我们现在应该使用哪种方法? 以下代码: 给出以下警告: 这条线上有很多标记 不推荐使用类型断言中的方法assertEquals(String, String) 断言类型已弃用

  • 类型断言(Type Assertion)是一个使用在接口值上的操作,用于检查接口类型变量所持有的值是否实现了期望的接口或者具体的类型。 在Go语言中类型断言的语法格式如下: value, ok := x.(T) 其中,x 表示一个接口的类型,T 表示一个具体的类型(也可为接口类型)。 该断言表达式会返回 x 的值(也就是 value)和一个布尔值(也就是 ok),可根据该布尔值判断 x 是否为 T

  • 问题内容: 我已经创建了一个基于字符串的角色类型,现在我想通过实现Valuer和Scanner接口使其与数据库驱动程序一起使用 我不断收到错误: 我在这里做错了什么? 问题答案: 这是第一个功能的工作代码: 尽管您可能希望使用并返回一个错误来代替恐慌。 a的签名不是您给的,而是: 请注意,这不会处理或产生NULL值。