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

使用不推荐使用的Hamcrest方法is()的替代方法是什么?

湛宜春
2023-03-14

我现在使用下面的代码来断言布尔值,但是方法org。汉克雷斯特。媒人。is()已弃用。

assertThat(someValue, is(false));

有没有一种简单的替代语法可以测试布尔值,而不必求助于断言真实(),这会给你糟糕的失败消息,比如“java.lang.断言错误”

收到评论/答案后编辑

我最初的担心是因为Eclipse将以下导入语句显示为已弃用

在查看Hamcrest API文档时,有3个重载的is()方法变体,其中只有一个被弃用。

因此,为了澄清来自@mark的评论和来自@matt的回答,我在上面发布的is()的使用是有效的,而不是不建议使用的。

共有3个答案

聂迪
2023-03-14

据说,在文档中为类匹配器使用instanceOf

http://junit.org/javadoc/latest/org/hamcrest/core/Is.html#isA(java.lang.Class)

is(IOException.class);

is(instanceOf(IOException.class));

例如

阎阎宝
2023-03-14

我原以为这是一个传递依赖问题,但它实际上只是Eclipse中的一个显示问题,它将导入标记为已弃用,因为一个重载窗体已弃用。代码应该编译良好,因为导入将公开所有表单。

已弃用的表单已从源中删除,在下一个版本(1.4)中将不存在。

原始答案

问题是JUnit的JAR中包含一组Hamcrest类。现在可以使用junit-dep.jar,但junit的较新版本(到目前为止为4.9和4.10)省略了它们。

郑琦
2023-03-14

您是否尝试过equalTo(T)?

assertThat(someValue, equalTo(false));

我没有看到is(T)被弃用-但是is(Class)被弃用了。

 类似资料:
  • 问题内容: 现在我正在使用类似 我需要您的意见以最好/最有效的方式对密码进行加密,当然,加密的密码应受PHP 7.xx支持,并且也应可解密,因为我的客户确实希望选择“恢复”密码而不生成新密码一。 问题答案: 最佳做法是对密码进行哈希处理,以使密码不可解密。这使可能已获得对数据库或文件的访问权限的攻击者的处境变得更加困难。 如果必须加密数据并使其可解密,请访问https://paragonie.co

  • 我最近发现是不推荐的。我们该怎么处理? 有什么替代方案吗?

  • 问题内容: 我正在使用org.apache.poi 3.15读取一个excel文件(文件扩展名为xlsx)。 这是我的代码: 我收到不推荐使用的警告。谁能告诉我替代方法? 问题答案: 接受的答案显示了弃用的原因,但未列出替代项: 其中是描述单元格类型的枚举。 计划是在POI 4.0中重命名回。

  • 问题内容: 我有一个正在使用的旧代码。 这里是我的代码,其中和已经导入。 在这里,我有些疑问,我编写的代码可以正常工作,但是由于现在不推荐使用,所以我想删除它。我浏览了许多文档,发现使用门户或引用代替了此。我的理解是,如果我使用ref,那么变量get bind到该变量也可以访问DOM元素,但是我想我错了,因为它以这种方式工作。有人可以纠正我对此的理解 问题答案: 根据 此github问题 和 Re

  • 由于类:org.springframework.web.util.ExpressionEvaluationUtils自Spring3.x发行版以来就不推荐使用了,所以我正在java代码中寻找EL表达式求值的另一种替代方法。 你能提出更多的替代方案来代替我的实施吗?

  • 问题内容: 我是Android编程的新手。 我一直在遵循有关从此网站创建音乐播放器的教程 本教程要求 使用不推荐使用的 Class 方法。哪种方法尤其可以代替此不推荐使用的方法?而且,是否有资料来源可以找到所有不赞成使用的方法及其当前替代方法? 这是我的代码,其中有关于不推荐使用的方法的警告: 问题答案: 如果按CTRL +左键单击方法,则会找到方法声明。这就是使用其内容和javadoc创建方法的