Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Java:用Junit 3进行异常测试

Java:用Junit 3进行异常测试
EN

Stack Overflow用户
提问于 2012-11-06 05:56:57
回答 6查看 15.1K关注 0票数 19

我想为IndexOutOfBoundsException编写一个测试。请记住,我们应该使用JUnit 3。

我的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public boolean ajouter(int indice, T element) {
    if (indice < 0 || indice > (maListe.size() - 1)) {
        throw new IndexOutOfBoundsException();
    } else if (element != null && !maListe.contains(element)) {
        maListe.set(indice, element);
        return true;
    }
}

经过一些研究,我发现您可以使用JUnit 4使用@Test(expected = IndexOutOfBoundsException.class)来完成这个任务,但是在JUnit 3中没有找到如何做到这一点的方法。

如何使用JUnit 3进行测试?

EN

回答 6

Stack Overflow用户

发布于 2012-11-06 06:01:35

在JUnit 3中测试异常使用以下模式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
try {
     ... code that should throw an exception ...

     fail( "Missing exception" );
} catch( IndexOutOfBoundsException e ) {
     assertEquals( "Expected message", e.getMessage() ); // Optionally make sure you get the correct message, too
}

如果代码没有抛出异常,fail()将确保得到错误。

我在JUnit 4中也使用这种模式,因为我通常希望确保异常消息中显示正确的值,而@Test不能这样做。

票数 36
EN

Stack Overflow用户

发布于 2012-11-06 06:00:55

基本上,如果方法没有抛出正确的异常,或者如果它抛出其他任何东西,则需要调用您的方法并失败:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
try {
  subject.ajouter(10, "foo");
  fail("Expected exception");
} catch (IndexOutOfBoundException expect) {
  // We should get here. You may assert things about the exception, if you want.
}
票数 15
EN

Stack Overflow用户

发布于 2012-11-06 06:01:26

一个简单的解决方案是在unittest中添加一个try catch,并在未抛出异常时让测试失败

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public void testAjouterFail() {
  try {
    ajouter(-1,null);
    JUnit.fail();
  catch (IndexOutOfBoundException()) {
    //success
  }
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13252572

复制
相关文章
除了chatgpt之外,你还有其它的一些选择
ChatGPT 是一种高度先进的人工智能模型,能够解释和利用自然语言用于各种类型的应用程序。
程序那些事儿
2023/07/24
6810
除了chatgpt之外,你还有其它的一些选择
我应该在什么时候使用 Apache Druid
许多公司都已经将 Druid 应用于多种不同的应用场景。请访问 使用 Apache Druid 的公司 页面来了解都有哪些公司使用了 Druid。
HoneyMoose
2021/07/24
6780
我应该在什么时候使用 Apache Druid
除了Postman之外,还有个Postwoman...
个人觉得,运行在浏览器端这一点比较实用,毕竟我们都是 Web 开发人员,浏览器跨平台的便利性早已深入人心。无需安装,随时随地可以测试接口。按照作者自己的说法,他就是因为自己的破机器无法再忍受安装一个这么大的 Postman 客户端,才动了这个邪念开发出了 Postwoman 的。
程序员小猿
2021/01/20
5911
除了Postman之外,还有个Postwoman...
为什么选择服务器托管
随着互联网的飞速的发展,服务器业务也在逐渐进入人们的视野。服务器托管、服务器租用、高防服务器租用、服务器带宽租用等也成为企业选择服务器业务的一大趋势。相对于服务器租用业务,选择服务器托管业务的用户占了绝大多数。服务器托管,企业用户自行配置服务器,再将服务器放置在第三方IDC运营商或者三大运营商机房内,并配置专业的运维技术人员,进行一个全天候的服务,以确保服务器能够稳定运行。
企商在线
2021/11/11
10.1K0
为什么选择服务器托管
除了Postman之外,居然还有个Postwoman...
个人觉得,运行在浏览器端这一点比较实用,毕竟我们都是 Web 开发人员,浏览器跨平台的便利性早已深入人心。无需安装,随时随地可以测试接口。按照作者自己的说法,他就是因为自己的破机器无法再忍受安装一个这么大的 Postman 客户端,才动了这个邪念开发出了 Postwoman 的。
开发者技术前线
2020/11/24
5311
除了Postman之外,居然还有个Postwoman...
我为什么 all in OpenHarmony?情怀之外“大有来头”
作者|罗燕珊 采访嘉宾|赵力、袁潜龙 除了华为自己,还有谁在基于 OpenHarmony 做发行版?近日,InfoQ 有幸接触到了这样一家企业,它叫“好叭科技”,年轻且抱有雄心壮志,一个基于 OpenAtom OpenHarmony(以下简称“OpenHarmony”)的“轻智能手表”项目已经在他们的内部悄然立项,开发工作也已全面铺开,接下来我们不妨一同跟着好叭的创始人,了解他们眼中新一代操作系统的未来。 “好叭”是谁 好叭,这个略带萌感的网络词,被用作公司的名字看似有些“儿戏”,不过在创始人赵力看来,这
深度学习与Python
2023/04/01
3190
我为什么 all in OpenHarmony?情怀之外“大有来头”
除了停电之外,今年的CES还有这些“意外”……
这些产品或多或少的引领了未来的电子消费潮流。 转眼,CES大会过去了一半,我们深切感受到了今年的CES确实和往年的不一样...... 百度发布了自动驾驶平台Apollo2.0版,支持简单城市道路的自动驾驶;英伟达亮出了一阶段的自动驾驶、AI和VR成绩;谷歌第一次拉下脸来参加CES,大玩了一把Google Assistant语音助理;英特尔则秀出了由他们芯片支持的AI+VR的未来…… 另外,还有一些东西在意料之外,比如今天的停电: 不过,就在全场一片漆黑之时,LG电子的巨幕OLED TV依然高清。 所以,在大
镁客网
2018/05/30
4510
程序员除了会CRUD之外,还应该知道什么叫CQRS!
我们平常最熟悉的就是三层架构,通常都是通过数据访问层来修改或者查询数据,一般修改和查询使用的是相同的实体。然后通过业务层来处理业务逻辑,将处理结果封装成DTO对象返回给控制层,再通过前端渲染。反之亦然。
田维常
2019/07/16
7970
程序员除了会CRUD之外,还应该知道什么叫CQRS!
程序员除了会CRUD之外,还应该知道什么叫CQRS!
我们平常最熟悉的就是三层架构,通常都是通过数据访问层来修改或者查询数据,一般修改和查询使用的是相同的实体。然后通过业务层来处理业务逻辑,将处理结果封装成DTO对象返回给控制层,再通过前端渲染。反之亦然。
技术从心
2019/08/06
5010
程序员除了会CRUD之外,还应该知道什么叫CQRS!
服务器租用和托管有什么不同?
现在不少的企业用户都选择了服务器来进行业务信息资源的存储。那么关于服务器托管和服务器租用之间的门道,不知道大家是否清晰。今天,我们深度剖析一下服务器托管和服务器租用二者的具体优势,让大家以后少走弯路。
企商在线
2021/10/08
25.4K0
服务器租用和托管有什么不同?
什么是服务器托管和服务器租用
服务器托管,是企业用户自行配置好服务器之后,再将服务器放置在IDC数据中心机房内,由专业运维人员提供技术支持。这叫服务器托管。
企商在线
2021/11/01
18K0
什么是服务器托管和服务器租用
2020-08-29:进程线程的区别,除了包含关系之外的一些区别,底层详细信息?
进程:进程有自己独立的地址空间,每启动一个进程,系统都会为其分配地址空间,建立数据表来维护代码段、堆栈段和数据段。
福大大架构师每日一题
2020/08/29
2780
我学习的Spark都在学些什么
---- 最近工作中,接触到最有用的“玩具”就是Spark了,在cpu密集型业务驱动下,提升CPU处理效率,高效的利用内存是最优先的事务,所以有个好的计算工具太重要了,这也是促使我去寻找各种分布式计算工具的动力。 初次接触Spark是在参与公司的一个日志系统项目了解的, 当时就觉得Spark是个内存计算,支持hive sql 的利器,而且调用api非常简单、好用。当时使用的是Spark1.3 的版本,虽然功能还不太完善但是已经初见威力。后来闲下来就打算深入研究一下Spark,这个研究持续近1年
刀刀老高
2018/04/10
2K0
我学习的Spark都在学些什么
服务器托管的优势是什么?有哪些特点?
随着服务器需求的上升,企业会自行购买服务器,但为了降低运营成本会对服务器进行托管,会将主机进行托管并请数据中心代运营,这现在比较常见的托管方式,能够有效减少企业的资金投入,那么,服务器托管的优势是什么?有哪些特点?
用户8715145
2021/07/09
2K0
Chrome打开网页时除了Alert/Confirm等弹窗之外还有可能是什么?
最近一个小伙伴遇到个问题,使用Selenium在做自动化测试的时候出现弹窗,但是使用Selenium+Java处理常见的Alert/Confirm弹出框无法找到;于是我就给他介绍了webDriver处理弹窗的所有方法;最后还是不行,于是我就开始怀疑了,决定亲自试一试这到底是个什么妖魔鬼怪。
软测小生
2019/09/03
1.8K0
Chrome打开网页时除了Alert/Confirm等弹窗之外还有可能是什么?
顺序访问磁盘,除了快还应该知道些什么?
文章的开始先解释一下,磁盘的数据读写是以扇区 (sector) 为单位的,而操作系统从磁盘上读写数据是以块 (block) 为单位的,一个 block 由若干个连续的 sector 组成,使用 block 代替 sector 能够提升读写速度,相应的空间碎片会变得更大,是一种空间换时间的应用。
CRMEB商城源码
2022/07/18
5930
顺序访问磁盘,除了快还应该知道些什么?
剔除 HIVE中select除了某些字段之外的剩余所有字段
只需要设置参数 set hive.support.quoted.identifiers=None; 指定要剔除哪个字段 select (剔除的字段)?+.+ from table 示例: 选择
chimchim
2022/11/13
1.9K0
服务器托管及迁移有什么需要注意的?
随着网络时代的蓬勃兴起,IT企业的发展速度惊人,其中技术的不断更替、升级和升级也是导致企业数据中心机房规模不断升级和扩大的主导因素之一,随之而来的管理不方便、资源丢失等问题接踵而至。那么数据中心服务器托管或服务器迁移就成为了一种更为有利的数据解决方案。
企商在线
2021/08/09
1.4K0
服务器托管及迁移有什么需要注意的?
点击加载更多

相似问题

Kubernetes HPA自定义伸缩规则

15

Kubernetes HPA行为

123

Kubernetes HPA实现细节

10

Kubernetes HPA禁用缩放

30

为什么Kubernetes HPA转换自定义指标?

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文