前言:今天被人问到了TDD和Junit,竟然不会,太out了,回来看了几分钟,没想到junit这么简单,写个程序记一下。
Junit是同极限编程中的TDD联系在一起的,所谓TDD就是Test Driven Development.
1,安装Junit
eclipse---windows--Preferences--java---Build Path ---new
Name,输入名称,随便; path:选择你下载的Junit的jar文件
2.实例
编程实现anagram,所谓anagram,是一种单词game:两个比较的单词,字符长度一样,字符顺序不一样。比如: hello,ElloH; abc,Cba就是的,但是真正的anagram是比较的英语单词,咱先比较这种简单的情况。
按照TDD思想,拿到上面的需求后,咱先不编码,先写测试case.
import static org.junit.Assert.*;
import org.junit.Test;
public class AnagramTest {
@Test
public void testWhetherAnagrams(){
Anagram a = Anagram.INSTANCE;
Boolean result1 = a.whetherAnagrams("abcd", "dcBa");
Boolean result2 = a.whetherAnagrams("abcde", "dcBa");
assertEquals(true,result1);
assertEquals(false,result2);
}
}
assertEquals(true,result)表示:参数一(true)表示我希望这个case运行的结果,用它去同参数二(result)匹配,如果相同,则这个case就通过了,否则就不通过。
上面的assertEquals我刚开始看时一直不明白是啥意思,原来那个就是用来判断结果是否正确的断言,当然,还有像什么assertTrue/assertFalse之类的,但assertEquals用得最多。
好了,上面的test case写好了,下面,咱来实现Anagram类(TDD思想就是:先整test case,再整implement)
package net.codercn;
public class Anagram {
public static final Anagram INSTANCE = new Anagram();
public boolean whetherAnagrams(String s1,String s2){
if(s1.length() != s2.length()){
return false;
}
char[] ch1 = s1.toLowerCase().toCharArray();
char[] ch2 = s2.toLowerCase().toCharArray();
Arrays.sort(ch1);
Arrays.sort(ch2);
return Arrays.equals(ch1, ch2);
}
}
好了,运行一下上面的AnagramTest,变绿了就ok了。Junit这种测试工具,最大的好处是不用再写public static void main(String[] args)这一大串东西了。
分享到:
相关推荐
本教程将深入探讨JUnit的基本使用方法和高级特性。 1. **安装与配置** - JUnit通常通过Maven或Gradle等构建工具进行依赖管理。 - 在IDE如IntelliJ IDEA或Eclipse中,可以通过插件集成JUnit,便于创建和运行测试。...
JUnit不仅易于学习和使用,而且还能显著提升软件开发的速度、可靠性和可预测性,同时减轻开发人员的压力。 #### 二、JUnit框架的结构 JUnit的核心设计原则是简洁性和易用性。它主要由以下几个关键组件构成: - **...
希望这篇入门指南能够帮助初次接触JUnit的同学快速上手,为进一步深入学习打下坚实的基础。 ### 五、待继续学习的问题 1. **高级注解**:除了基础注解外,JUnit还提供了更多的高级注解,如`@Rule`、`@Category`等...
将该文件压缩后,导入要使用到的项目中,可以使用相应的junit单元测试. JUnit是Java语言的一个单元测试框架。它由Kent Beck和Erich Gamma创建,于2000年首次发布。JUnit提供了一些注解(如@Test),用于标识在测试中...
JUnit 毕业实习培训文档主要面向初学者,旨在帮助实习生快速掌握 Java 测试框架 JUnit 的使用。本文档以 Eclipse 作为集成开发环境(IDE)进行教学,因为 Eclipse 对于 Java 开发提供了强大的支持,同时也整合了 ...
初次写testsuite会遇到“NO runnable methods”,添加@Test也没有解决问题,看了多个文档实例,终于解决了这个问题,愿意跟大家一起分享,添加了资源分2分,迫于我去下载资源跟我要分啊。java源代码。
Selenium Simplified是一本专门介绍如何使用Java和JUnit框架结合Selenium自动化测试工具进行软件测试的教程。本书由Alan Richardson编写,由Compendium Developments出版,并首次于2010年在大不列颠出版。本书不仅...
本文将深入剖析Android中的JUnit测试框架,特别是`ActivityUnitTestCase`和`ActivityInstrumentationTestCase2`这两个类,它们是针对Android活动中单元测试的重要工具。 首先,`ActivityUnitTestCase`是一个专门...
测试文件可能包含了使用 JUnit 或其他测试框架编写的测试用例,以验证 REST 接口的功能和性能。测试是确保代码质量的重要环节,可以帮助开发者发现和修复潜在问题,避免在生产环境中出现故障。 总结来说,"Jersey...
首次。 在上述自述标记中设置插件ID。 设置。 单击顶部的“监视”按钮,以通知有关包含新功能和修复的版本。 这个花哨的IntelliJ平台插件将成为您所拥有的出色创意的实现。 该特定部分是文件的源代码,该文件...
README文件包含了项目的基本介绍和使用说明,是初次接触该项目时的重要参考;build.properties.sample是一个示例配置文件,供用户根据实际环境调整;STATUS文件可能记录了项目当前的状态或版本信息;build-...
在本教程中,我们将深入学习如何在MyEclipse IDE环境下集成Hibernate,创建并运行一个简单的JUnit测试用例,这对于初次接触Hibernate和JUnit的开发者来说是非常有益的。 **1. Hibernate 概述** Hibernate 提供了一...
在描述中提到的压缩包可能包含了一些使用JUnit编写的测试用例,这些用例可以帮助我们验证Spring配置的正确性以及业务逻辑的准确性。 **Spring入门案例** 这个压缩包中的"Spring入门案例"可能包含了以下几个部分: ...
对于那些初次这样做的人,请继续阅读。 我考虑了最新的库和SDK。 在使用JDK 10时,我经历了很多挑战,以CI / CD模型构建完整的微服务。 分享我的最终方法并获得一些反馈是值得的。 构建此样本服务时考虑的目标 1....
12. **JUnit测试**:Eclipse内置对JUnit的支持,方便进行单元测试。你可以创建测试类,编写测试方法,并通过Eclipse的测试运行器运行和分析测试结果。 以上只是Eclipse使用的一部分基础内容,实际使用中还有更多...
此外,Jenkins还能生成JUnit/TestNG测试报告,辅助开发团队监控测试覆盖率和软件质量。 分布式构建是Jenkins的一大特色,允许用户将多台计算机组织在一起共同完成构建和测试任务。Jenkins也支持文件识别功能,跟踪...