在Eclipse中使用Junit测试代码

一、在项目中加入Junit库

在这里插入图片描述
右击项目文件,在选项中选择BuildPath这一选项。
在这里插入图片描述
选择Add Libbraries选项,在其中找到Junit,可以自行选择需要的Junit版本。
在这里插入图片描述

当你的项目中除了之前的基础库文件,还出现了Junit库,说明已经添加完成了。
在这里插入图片描述
二、Junit代码的构建

    @Testpublic void testSet(){Graph<String> current=emptyInstance();//测试错误输入负的权值assertEquals(-1,current.set("A", "B", -1));assertEquals(false,current.vertices().contains("A"));assertEquals(false,current.vertices().contains("B"));assertEquals(false,current.targets("A").containsKey("B"));//测试权值不为0,图中没有这两点也没有这条边的情况,返回值应该是零,并且两个点应该已经被插入到图中,这条边也已经被插入到图中assertEquals(0,current.set("A", "B", 1));assertEquals(true,current.vertices().contains("A"));assertEquals(true,current.vertices().contains("B"));assertEquals(true,current.targets("A").containsKey("B"));//测试权值不为零,图中已经存在这两点的情况,返回值应该是1(同时完成对先前加入的边的权值的查看)assertEquals(1,current.set("A", "B", 2));//测试权值为0,图中已经存在这两点的情况,返回值应该是2,并且这条边已经被删除assertEquals(2,current.set("A", "B", 0));assertEquals(false,current.targets("A").containsKey("B"));//测试权值不为零,图中有这两个点,但是没有这样的边的情况,返回值应该是0,并且这条边已经被添加assertEquals(0,current.set("A", "B", 2));assertEquals(true,current.targets("A").containsKey("B"));//测试权值为0,图中没有这两点也没有这条边的情况,返回值应该是0,但是同时没有对这两个点进行插入操作,也没有对这条边进行插入assertEquals(0,current.set("C", "D", 0));assertEquals(false,current.vertices().contains("C"));assertEquals(false,current.vertices().contains("D"));assertEquals(false,current.targets("C").containsKey("D"));}

以我之前对构建的图的类为例说明Junit代码的基本思路。
首先对于任何用于测试的函数,都需要加上@Test标签,否则Eclipse不会识别你的测试方法,运行时不会执行。
然后重点使用assertEquals函数,这个函数前一个参数是给定的正确结果,后一个参数是你要测试方法的返回结果。只有当两者相同,测试的结果才会是正确的。
在这里插入图片描述
正确的结果将被标注为绿色,红色代表有运行错误,蓝色代表assertEquals结果出现错误,可以进一步进行检查。
比如以下这个例子
在这里插入图片描述
这一测试出现蓝色,双击这一内容进行检查。
在这里插入图片描述
发现以下错误信息。
在这里插入图片描述
双击上面一行进一步对比结果。
在这里插入图片描述
可以看到详细的比较结果,然后返回查看代码的运行情况,进行debug。

3、使用注意
(1)当使用Junit时如果代码中包含有exit函数,测试程序会直接卡死,网上有一些处理方式,详细可以查看
https://blog.csdn.net/weixin_43872188/article/details/104781255
(2)如果函数没有返回值可以进行比较,可以在类中定义相关的观察者方法,比如重写toString函数,当成检查的方式。
(3)测试类也可以进行继承,并且子类如果没有重写父类中的测试函数,子类会自动执行父类的测试。
举例:
在这里插入图片描述
可以看到这一类中只写了三个测试方法。
在这里插入图片描述
运行后可以看到执行了一些其他函数,而这些函数恰恰就是父类中的测试函数。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/7385.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

玩转 GPT4All

目录 什么是Chatgpt 什么是gpt4all 如何使用 第一步&#xff1a;下载LLM模型 第二步&#xff1a;下载代码 第三步&#xff1a;将模型替换到 第四步&#xff1a;执行启动命令 第五步&#xff1a;生成自己的客户端 第六步&#xff1a;启动 第七步&#xff1a;配置UI 什么…

Android Studio Gradle 无限 Build「假死」

Android Studio Gradle 无限 Build「假死」 解决方案 工程配置 Gradle 的 gradle.properties 文件中添加如下代码&#xff1a; org.gradle.daemontrue org.gradle.paralleltrue然后重新 Sync 工程&#xff0c;漫长等待依赖下载完成后&#xff0c;重新 Build 项目即可 补充 …

Python3.7出现RuntimeError: generator raised StopIteration异常

出现该异常有很多种情况&#xff1a; 我说下我遇到的情况 希望对你有帮助 当模型运行fit_generator会抛出generator raised StopIteration的异常&#xff0c;其实是因为generator没有获取到相应的数据 这里的G是LoadBatches1.imageSegmentationGenerator做的一个生成器 G …

【AI前沿】chatgpt还有哪些不足?

博客昵称&#xff1a;吴NDIR 个人座右铭&#xff1a;得之淡然&#xff0c;失之坦然 作者简介&#xff1a;喜欢轻音乐、象棋&#xff0c;爱好算法、刷题 其他推荐内容&#xff1a;计算机导论速记思维导图 其他内容推荐&#xff1a;五种排序算法 在这个愉快的周末让我们聊一下Cha…

ChatGPT开放API,价格直接打1折

鱼羊 发自 凹非寺量子位 | 公众号 QbitAI ChatGPT API&#xff0c;千呼万唤终于来了。 不仅宣布开放&#xff0c;价格还直接打了个骨折&#xff1a; 0.002美元/每1000 token&#xff0c;仅为此前GPT-3.5价格的1/10。 言下之意&#xff1a;ChatGPT质优价廉&#xff0c;开发者胖友…

初尝使用ChatGPT辅助编程

整个问答过程&#xff08;就一次问答&#xff09; 运行代码的页面实测结果

Chatgpt写算法题如何(实测)

原题要求 下面让AI来写&#xff1a;

文心一言 ChatGPT 实测对比

期待已久之后&#xff0c;终于拿到了文心一言的邀请码&#xff0c;第一时间进行了测试。最后面会讲一下如何获取邀请码。 先说一下结论&#xff0c;很远&#xff0c;但是又不远。 很远是因为&#xff1a;我个人测试得出来的实际效果和ChatGPT差距还很大&#xff0c;下面我会放…

这个ChatGPT项目有了重大更新,可以直接打包成桌面应用

在之前的文章中介绍过一个国内大神开放的ChatGPT项目&#xff0c;最近这个仓库有了重大的更新&#xff0c;可以把web的应用打包成桌面的应用。外观上也作出了改变&#xff0c;把界面做的更加简洁。 通过查看源码&#xff0c;是采用electron进行桌面应用的构建&#xff0c;目前…

ChatGPT与Web3.0:让聊天变得更加有趣和安全

随着数字经济时代的到来&#xff0c;Web3.0应用成为了数字世界的重要组成部分&#xff0c;同时人工智能技术也为Web3.0应用的发展提供了强大的支持。其中&#xff0c;ChatGPT作为一种强大的人工智能技术&#xff0c;在Web3.0应用中发挥着越来越重要的作用。本文将从普通用户的角…

程序员如何使用chatgpt提高工作效率

公众号对话chatgpt 网页在线对话 ● 拥有一个 OpenAI 账号&#xff08;需要梯子&#xff09;。 ● 账号申请访问地址&#xff1a;https://platform.openai.com/。 ● ChatGPT 对话地址&#xff1a;https://chat.openai.com/chat。 API接入 ● 需要一个 API key&#xff08;依…

chatgpt开发,如何实现智能会话

ChatGPT AI API&#xff1a;ChatGPT AI 提供了 API&#xff0c;您可以使用该 API 将 ChatGPT AI 集成到您的 Java 代码中。API 可以通过 HTTP 请求和响应进行访问&#xff0c;因此您需要使用 Java 的网络库进行访问。ChatGPT AI API 的细节可以在 OpenAI 的文档中找到。 Java 网…

ChatGPT正在加速淘汰“伪高管”

作者| Mr.K 编辑| Emma 来源| AI新猿人(ID&#xff1a;aixyr2023) “整个京东零售&#xff0c;只有 1.5 个人在会上说真话、提问题…很多拿 PPT 和假大空词汇忽悠自己的人&#xff0c;&#xff08;这些高管&#xff09;就是骗子…”&#xff0c;这是刘强东在去年年底京东内部…

You Only Look Once: 革命性目标检测算法论文解析

You Only Look Once 全论文完整翻译 You Only Look Once: Unified, Real-Time Object Detection 摘要 我们介绍了一种名为YOLO的新型目标检测方法。在目标检测的先前工作中&#xff0c;人们将分类器重新应用于执行检测任务。相反&#xff0c;我们将目标检测视为一个回归问题&a…

【原创】理解ChatGPT之GPT工作原理

作者&#xff1a;黑夜路人 时间&#xff1a;2023年4月25日 想要连贯学习本内容请阅读之前文章&#xff1a; 【原创】理解ChatGPT之机器学习入门 【原创】AIGC之 ChatGPT 高级使用技巧 GPT是什么意思 GPT的全称是 Generative Pre-trained Transformer&#xff08;生成型预训练…

关于AI和ChatGPT的使用,AI编程(AIGC),AI绘画(3)

使用AI绘画要注意哪些问题 1.版权和知识产权&#xff1a;使用别人的AI模型进行绘画可能会侵犯其版权和知识产权&#xff0c;需遵守相关法律法规。 2.数据隐私&#xff1a;在使用AI绘画应用时&#xff0c;可能需要提供个人图像或图片等数据&#xff0c;要谨慎保护数据隐私&…

chatGPT的爆火,是计算机行业这次真的“饱和”了?

近日&#xff0c;chatGPT这一生成式AI爆火&#xff0c;这款号称神仙级别的自动语言生成式AI发布短短5天内&#xff0c;就吸引了100万用户&#xff0c;在官方描述中&#xff0c;chatGPT是一个“可以连续回答问题、承认自己的错误、挑战不正确的前提并拒绝不适当的要求”的对话模…

LLMs之ChatGLM2:ChatGLM2-6B的简介、安装、使用方法之详细攻略

LLMs之ChatGLM2&#xff1a;ChatGLM2-6B的简介、安装、使用方法之详细攻略 导读&#xff1a;2023年06月25日&#xff0c;清华大学开源了 ChatGLM2-6B 模型&#xff0c;是 ChatGLM 模型的升级版本。ChatGLM2-6B 在多个方面有显著提升&#xff1a;模型性能更强&#xff0c;在各种…

Mac电脑启动出现空白屏幕的解决办法

Mac电脑启动的时候出现空白屏幕该怎么办&#xff1f;怎么解决Mac电脑出现空白屏幕的情况?macw小编为大家带来解决办法&#xff0c;遇到这种情况的朋友可以一试。 尝试从 macOS 恢复功能启动 如果您的 Mac 似乎已开启&#xff0c;但显示屏上没有显示任何内容&#xff0c;请确…