Junit单元测试小应用

简介:
测试是一个很重要的问题,我觉得:一个程序员行不行,关键看他会不会调试。程序的测试都是从小范围入手然后向四面八方入手,一点点的向外扩展,直至最后程序整体运行良好。这只是在下的一点愚见。以前进行调试时总是在程序中写个main方法,然后进行测试,以前学过一个Junit单元测试,没想起来用,今天看见老师的代码中有这个 单元测试,所以下来了看了看以前的代码并上网查了查有关Junit的东西,在此简单的说一下。以MyElipse 8.5 进行说明。
  1.新建一个project,然后右击选择properties-----Java Build Path-----Libraries---AddLibrary---Junit,将Junit插件添加到该项目中。
  2.在project中建立一个JDemo.java 和  Test.java,JDemo中由一个简单的方法add(),Test要继承TestCase,代码如下:
JDemo.java
package com.bx.testjunit;
public class JDemo {
int a;
int b;
int result;
public int add(int a,int b){
result = a + b;
return result;
}
}
Test.java
package com.bx.testjunit;
import junit.framework.TestCase;
import org.junit.After;
import org.junit.Before;
public class Test extends TestCase{
@Before
public void setUp() throws Exception {
System.out.println("Test :setUp");
}
@After
public void tearDown() throws Exception {
System.out.println("Test :tearDown");
}
public void test(){
JDemo a = new JDemo();
assertEquals(6,a.add(3, 3));
}
}
  3.运行,右击Junit Test,在控制台上会出来一个Junit选项卡,如果出现绿颜色的bar则说明程序正确,如果是红颜色的bar则说明程序错误,需进行检错。
  上面的程序用的是Junit3,必须继承TestCase
  下面看一个Junit4的例子
package com.bx.service;
import org.junit.Test;
public class HelloWorld {
@Test
public void test(){
System.out.println("HelloWord :test");
}
}
  Junit4不需要继承TestCase,只需使用@Test标注的expected属性。


最新内容请见作者的GitHub页:http://qaseven.github.io/
相关文章
|
2月前
|
监控 安全 Shell
管道符在渗透测试与网络安全中的全面应用指南
管道符是渗透测试与网络安全中的关键工具,既可用于高效系统管理,也可能被攻击者利用实施命令注入、权限提升、数据外泄等攻击。本文全面解析管道符的基础原理、实战应用与防御策略,涵盖Windows与Linux系统差异、攻击技术示例及检测手段,帮助安全人员掌握其利用方式与防护措施,提升系统安全性。
117 6
|
2月前
|
机器学习/深度学习 自然语言处理 API
query改写:大模型应用测试离不开的实践
queryrewrite 是一个用于大模型应用测试的 Python 库,专注于查询(query)的改写与验证。它支持多种改写方法,包括大型语言模型(LLM)、词汇表替换和同义词替换,同时提供多种验证方法如 ROUGE-L、BLEU、帕累托最优和LLM语义相似度,以确保改写后的查询在语义上保持一致。该项目特别优化了对中文文本的处理,涵盖分词和相似度计算。用户可通过 pip 安装,并支持扩展不同的 LLM 模型,如 OpenAI、Ollama 等。
485 87
query改写:大模型应用测试离不开的实践
|
2月前
|
JSON 自然语言处理 算法
大模型应用测试必备技能:问题对生成实践
本文介绍了利用LangChain的QAGenerationChain从文本生成问题-答案对(QA pairs)的方法,旨在解决LLM应用开发中测试数据生成的格式不统一、库版本过时、模型输出异常及代码可维护性差等问题。文中提供了完整的代码实现,并对生成结果进行了有效性评估,包括语义相似度检查、关键词匹配和重复性检测,确保生成的QA对质量可靠,适用于知识库测试与评估。
290 86
|
25天前
|
人工智能 数据可视化 测试技术
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
275 11
|
5月前
|
存储 人工智能 测试技术
HarmonyOS Next~HarmonyOS应用测试全流程解析:从一级类目上架到二级类目专项测试
本文深入解析HarmonyOS应用测试全流程,涵盖从一级类目通用测试到二级类目专项测试的技术方案。针对兼容性、性能、安全测试及分布式能力验证等关键环节,提供详细实践指导与代码示例。同时,结合典型案例分析常见问题及优化策略,帮助开发者满足华为严苛的质量标准,顺利上架应用。文章强调测试在开发中的核心地位,助力打造高品质HarmonyOS应用。
256 2
|
2月前
|
机器学习/深度学习 存储 分布式计算
Java 大视界 --Java 大数据机器学习模型在金融风险压力测试中的应用与验证(211)
本文探讨了Java大数据与机器学习模型在金融风险压力测试中的创新应用。通过多源数据采集、模型构建与优化,结合随机森林、LSTM等算法,实现信用风险动态评估、市场极端场景模拟与操作风险预警。案例分析展示了花旗银行与蚂蚁集团的智能风控实践,验证了技术在提升风险识别效率与降低金融风险损失方面的显著成效。
|
2月前
|
人工智能 IDE 测试技术
Browser-Use在UI自动化测试中的应用
Browser-Use是一款浏览器自动化工具,具备视觉与HTML解析、多标签管理、操作记录与复现、自定义操作、自我纠正及并行执行等功能,助力AI智能体高效完成网页任务。
200 0
|
5月前
|
安全 测试技术 Linux
Flawnter 5.9.1 (macOS, Linux, Windows) - 应用程序安全测试软件
Flawnter 5.9.1 (macOS, Linux, Windows) - 应用程序安全测试软件
150 2
Flawnter 5.9.1 (macOS, Linux, Windows) - 应用程序安全测试软件
|
5月前
|
测试技术 数据库 Python
解释测试中setup和teardown函数的应用。
总结起来,`setup`和 `teardown`函数就像扔宴会的主人,他们保障了宴会的流畅进行。他们是准备环境和清理现场的重要工作人员,他们的工作直接影响着我们的测试效率和质量。我们可以把 `setup`和 `teardown`想象成隐藏在幕后,默默为我们服务的工作者,他们做着我们需要但是往往忽视的工作。所以,下次当你写测试的时候,别忘了给你的 `setup`和 `teardown`留出足够的位置,因为他们的作用可能是你成功的保证。
114 14
|
10月前
|
Java 测试技术 数据安全/隐私保护
软件测试中的自动化策略与工具应用
在软件开发的快速迭代中,自动化测试以其高效、稳定的特点成为了质量保证的重要手段。本文将深入探讨自动化测试的核心概念、常见工具的应用,以及如何设计有效的自动化测试策略,旨在为读者提供一套完整的自动化测试解决方案,帮助团队提升测试效率和软件质量。

热门文章

最新文章