`
lzs2014193
  • 浏览: 25689 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

尚学堂马士兵JUnit4单元测试_视频笔记

阅读更多

1.JDK5允许添加静态类的静态方法
eg:improve static org.junit.Assert.*;
assertEquals(<期望值>,<实际值>);
eg: int z = new T().add(5,3);
    assertEquals(8,z);
名言:Keeps the bar green to keeps the code clean!


2.assert重载方法的String message应用:
在junit4之后,Assert类中有许多方法都添加了message提示
eg:assertTrue("a is too small",a>8);

 

3.assertThat替代了所有的assert方法,由hamcrast包提供匹配支持
下载:http://code.google.com/p/hamcrast/downloads/list 选择hamcrast-1.2.zip完整版本
添加:(Add External Archives)hamcrast-core-1.2.jar,hamcrast-library-1.2.jar
eg:   import static org.hamcrast.Matchers.*;
问题:java.lang.SecurityException: class"org.hamcrast.Matches"'s...
解决:必须使用同一个classloader,所以不要用Eclipse自带的junit包,要自己重新引入junit包,问题解决!
(1)assertThat( n, allOf( greaterThan(1), lessThan(15) ) );
assertThat( n, anyOf( greaterThan(16), lessThan(8) ) );
assertThat( n, anything() );
assertThat( str, is( "bjsxt" ) );
assertThat( str, not( "bjsxt" ) );

 

(2)assertThat( str, containsString( "bjsxt" ) );
assertThat( str, endsWith("bjsxt" ) );
assertThat( str, startsWith( "bjsxt" ) );
assertThat( n, equalTo( nExpected ) );
assertThat( str, equalToIgnoringCase( "bjsxt" ) );
assertThat( str, equalToIgnoringWhiteSpace( "bjsxt" ) );

 

(3)assertThat( d, closeTo( 3.0, 0.3 ) );
assertThat( d, greaterThan(3.0) );
assertThat( d, lessThan (10.0) );
assertThat( d, greaterThanOrEqualTo (5.0) );
assertThat( d, lessThanOrEqualTo (16.0) );

 

(4)assertThat( map, hasEntry( "bjsxt", "bjsxt" ) );
assertThat( iterable, hasItem ( "bjsxt" ) );
assertThat( map, hasKey ( "bjsxt" ) );
assertThat( map, hasValue ( "bjsxt" ) );

 

4.Failure和Error的区别:Failure是指测试失败,Error是指测试程序本身出错.所以一定要保证0个Error,才能继续进行测试.
JUnit4 Annotation简介
(1)@Test: 测试方法
a) (expected=XXException.class)
b) (timeout=xxx)
(2)@Ignore: 被忽略的测试方法
(3)@Before: 每一个测试方法之前运行
(4)@After: 每一个测试方法之后运行
(5)@BeforeClass: 所有测试开始之前运行
(6)@AfterClass: 所有测试结束之后运行

 

5.问题:Method Should be static !
@BeforeClass,@AfterClass必须是static静态的才能用,否则就会报错
原因是Test测试类还没有初始化,如果想用就要用static,主要用于搭建测试环境

 

6.问题:怎样运行测试包里面的所有测试?
解决:在测试包的属性中选择Run all tests...
新的开发模式TDD(Test Driven Development),先写测试就可以确定需求.

 

7.注意命名规范,要遵守约定,比如:
a)类放在test包中
b)类名用XXXTest结尾
c)方法用testMethod命名

 

8.代码量不是技术水平的检验标准,记住:豆芽长的在高它也是根菜!

分享到:
评论

相关推荐

    Oracle笔记(基于尚学堂马士兵)

    【Oracle笔记(基于尚学堂马士兵)】 Oracle是一款全球广泛使用的大型关系型数据库管理系统,由美国Oracle公司开发。本笔记主要基于尚学堂马士兵老师的教学内容,深入浅出地介绍了Oracle的基本概念、安装配置、SQL...

    hibernate资料3

    首先,"006_尚学堂马士兵_Java视频教程_Hibernate3.3.2_Hibernate模拟实现.avi"这个视频,马士兵老师将带你走进Hibernate的世界,讲解如何模拟实现Hibernate的基本功能。这个阶段的学习旨在理解Hibernate的核心概念...

    尚学堂马士兵linux学习笔记

    ### 尚学堂马士兵Linux学习笔记精粹 #### Linux文件系统结构概览 - **根目录(/)**:Linux文件系统的入口,是最高一级的目录,所有其他目录的起点。 - **/bin**:存储基础系统所需命令,如`ls`、`cp`、`mkdir`等...

    尚学堂_Sping_0200_IOC_Introduction

    - Spring 提供了丰富的测试支持,包括 `@RunWith(SpringRunner.class)` 和 `@SpringBootTest` 注解,使得编写单元测试和集成测试更加方便。 学习这一主题,有助于理解 Spring 如何通过 IOC 和 DI 提升软件设计的...

    尚学堂_Spring_0700_IOC_Collections

    IoC通过反转对象的创建过程,将对象的创建和配置交由容器来处理,而不是在代码中硬编码,从而提高了代码的可测试性和可维护性。 在处理集合时,Spring提供了多种方式来注入集合类型的依赖。一种常见的方式是通过XML...

    hibernate资料5

    在“hibernate资料5”中,我们有两个关键的学习资源:016_尚学堂马士兵_Java视频教程_Hibernate3.3.2_hibernate基础配置.avi 和 017_尚学堂马士兵_Java视频教程_Hibernate3.3.2_Annotation字段映射位置.avi。...

    Hibernate3.3.2_Java例子精简JAR包

    本例子通過學習“002_尚学堂马士兵_Java视频教程_Hibernate3.3.2_HelloWorld.avi”教程實踐的小例子。 整理出来的精简JAR包,共八个。分别: antlr-2.7.6.jar、commons-collections-3.1.jar、dom4j-1.6.1.jar、...

    尚学堂_Spring_0800_IOC_Auto_Wire

    4. **自动装配(Auto Wiring)**:Spring提供了几种自动装配的方式,如byName、byType、constructor、autodetect等。自动装配减少了XML配置文件的复杂性,Spring会根据bean的属性类型或名称尝试匹配并注入相应的依赖...

    尚学堂_Spring_0300_IOC_Injection_Type

    在Spring框架中,依赖注入是核心特性之一,它使得组件之间的耦合度降低,提高了代码的可测试性和可维护性。 依赖注入允许开发者在运行时将对象所需的依赖关系传递给它,而不是在代码中硬编码这些依赖。这样,对象...

    尚学堂_Spring_0600_IOC_Bean_Scope

    这样做的好处是提高了代码的可测试性、模块化和灵活性。在Spring中,Bean是那些由容器管理的对象,它们通过XML、注解或Java配置的方式定义,并由Spring容器实例化、装配和管理。 接下来,我们要了解Bean的Scope。在...

    JAVA视频学习顺序

    - **尚学堂科技_马士兵_JAVA视频教程_J2SE**:这部分视频全面介绍了JAVA语言的基本语法和核心API,适合JAVA零基础学员入门。 - **尚学堂科技_马士兵_JAVA视频教程_J2SE_专题**:更深入地探讨了J2SE中的特定主题,如...

    尚学堂Java笔记.pdf

    尚学堂Java笔记.pdf 本资源主要讲述Java语言的基础知识和应用,包括J2SDK、JRE、JDK、classpath、path、Java应用程序、递归调用等内容。 一、J2SDK和JRE Java2 Software Development Kit(J2SDK)是Java开发需要...

    尚学堂视频笔记-oracle

    ### Oracle学习笔记知识点总结 #### 第一课:客户端工具介绍 - **SQL Plus**:作为Oracle最基础的客户端工具,SQL Plus支持通过命令行或图形界面进行数据库操作。 - **命令行方式**:直接在命令行输入`sqlplus`,...

    尚学堂Spring学习笔记

    "尚学堂Spring学习笔记" 本文档记录了尚学堂Spring学习笔记的重要知识点,涵盖了Spring配置文件的设置、普通属性的注入、自定义属性编辑器、公共属性的注入、Spring注解等内容。 一、Spring配置文件的设置 在...

    尚学堂_Spring_0100_模拟Spring

    《尚学堂_Spring_0100_模拟Spring》 在深入探讨Spring框架之前,我们需要先理解Spring的核心理念。Spring是一个开源的Java平台,它主要为构建企业级应用提供了全面的编程和配置模型。它的核心特性是依赖注入...

    马士兵Hibernate文档

    根据提供的文件信息,“马士兵Hibernate文档”是一份与马士兵Hibernate视频教程相匹配的文档资料。这份文档旨在为学习者提供全面、详细的Hibernate框架的学习资料,帮助他们更好地理解和掌握Hibernate的相关概念和...

    java坦克大战绘图版 源码+笔记总结(马士兵版)

    坦克大战java版开发笔记 ----------------------------------------------------------- 版本0.1 ---------------------------------------------------------------- 功能: 1.绘出游戏面板,可以响应关闭事件 ...

    项目源码

    6. **单元测试**:源码可能包含JUnit测试,了解如何编写和执行测试用例,确保代码的正确性。 7. **软件工程实践**:源码结构、命名规范、注释等都是软件工程实践的重要组成部分,可以帮助理解良好编码习惯的重要性...

    尚学堂hibernate笔记

    ### 尚学堂Hibernate笔记知识点详解 #### 一、项目初始化与环境搭建 1. **新建项目**:在IDE中创建一个新的Java项目。 2. **构建用户库并添加所需的JAR包**: - 右键点击项目 -&gt; `Build Path` -&gt; `Configure ...

Global site tag (gtag.js) - Google Analytics