`
tanjiayqq
  • 浏览: 20409 次
文章分类
社区版块
存档分类
最新评论

如何写好单元测试(Junit测试)?

阅读更多
Junit可以说是在Java里面最具代表性的单元测试工具。

虽然我们是程序员,但是在大环境下却经常要肩负起软件测试员的工作。而我们写的最多的测试一般都是JunitTest单元测试。

但是Junit测试需要一定的规范才使得它更有意义,首先命名方面就有一定的规范:

类名:

测试类名为:Test类名

如果要测试LoginService,那么你应该创建一个测试类叫 TestLoginService.

方法名:

测试方法名为:test要测试的方法(首字母大写)[_测试结果]

如果要测试login,方法名为testLogin(),

如果要测试login失败,方法名为testLogin_fail(),

以上为Junit单元测试的命名约定。

----------------------------------------------------------------------------------

下面再来看看,测试方法应该怎么写。

下面是一个testLogin()的方法:
    @Test
    public void testLogin() throws Exception {
        loginService.login();
    }

相信很多人都习惯这么简单地写一个单元测试,在测试方法里只调用业务方法。但是这样做只能测试到login()这个方法有没有调通,并不能比较结果是否符合预期。

所以我们一般都加上断言(Assert)

    
    @Test
    public void testLogin() throws Exception {
        Assert.assertTrue(loginService.login());
    }

上面是断言这个登陆返回true,也就是登陆成功。

但是有时候我们可能会断言结果不准确,例如密码不小心敲错了,那么login()方法应该会返回一个密码错误异常。而断言错误会使得我们的JunitTest不通过,这意味着单元测试出现问题。但是这明显不是login()的问题,所以我们可以加上try...catch块来保证测试方法通过:

    @Test
    public void testLogin() throws Exception {
        try{
            Assert.assertTrue(loginService.login());
        }catch(WrongPasswordException ex){
            Assert.assertEquals("密码不正确", ex.getMessage());
        }
    }

上面添加了捕捉密码失败异常的代码,那么即使发生非程序错误,也可以正确地通过测试方法。

最后介绍个学习网站:http://gz.itcast.cn/
分享到:
评论

相关推荐

    Java单元测试JUnit4.7

    在实际使用中,开发人员通常会结合构建工具如Maven或Gradle,以及IDE如Eclipse、IntelliJ IDEA来运行JUnit测试。这些工具能够自动化测试执行,生成测试报告,帮助分析和调试。 总的来说,JUnit 4.7作为Java单元测试...

    junit单元测试jar包集

    这里提到的四个文件是Java开发中常用的单元测试框架和库,分别是JUnit、DBUnit、Unitils和Mockito。让我们逐一深入探讨它们的功能和使用方法。 **JUnit** 是Java领域中最广泛使用的单元测试框架,这里的`junit-4.11...

    用Junit进行单元测试junit4.5

    在Java世界中,**JUnit**是最广泛使用的单元测试框架。本篇将重点介绍如何利用**JUnit 4.5**进行单元测试,以及这个版本的一些特性。 ### JUnit简介 JUnit是一个开源的、基于Java的测试框架,由Ernst Leiss和Kent ...

    Junit 单元测试完整案例

    【Junit单元测试完整案例】深入解析 在软件开发中,单元测试是验证代码功能是否正确、独立单元是否按预期工作的关键步骤。Junit作为Java领域最常用的单元测试框架,为开发者提供了简单易用的API来进行测试。本案例...

    软件单元测试——JUnit使用

    "软件单元测试——JUnit使用" 软件单元测试是软件开发过程中的一种测试方法,它是指对软件中的最小单元进行测试,以确保软件的可靠性和正确性。JUnit是一个流行的Java测试框架,广泛应用于软件单元测试中。 在本...

    SpringMvc单元测试Junit

    SpringMvc单元测试Junit是Java开发中的重要实践,主要用于确保应用程序的特定部分,如控制器,服务或DAO,按预期工作。在这个Demo中,我们将深入探讨SpringMvc如何与JUnit结合进行有效的单元测试,以及如何利用这些...

    Junit单元测试文档

    junit3 junit4 api,单元测试的利器

    spring MVC junit 单元测试(controller)

    在Spring MVC框架中,单元测试是确保代码质量的重要步骤,特别是在控制器层(Controller)。...在实际操作时,参考博客中的示例代码和上述步骤,可以更好地理解和实践Spring MVC Controller的单元测试。

    在Eclipse中使用JUnit4进行单元测试

    创建JUnit测试类是单元测试的第一步。在Eclipse中,右键点击项目,选择"New" > "JUnit Test Case"。在此过程中,需要选择要测试的源代码类以及要测试的方法。测试类通常会继承自`org.junit.Test`注解的基类,并且每...

    单元测试利器 JUnit 4

    JUnit 4 是一款备受Java开发者青睐的单元测试框架,它极大地简化了编写和执行单元测试的流程。单元测试是确保代码质量的关键环节,通过编写针对单个功能或方法的独立测试,开发者可以验证代码的正确性,从而及时发现...

    单元测试Junit 参考PPT

    【单元测试Junit 参考PPT】是一个详细介绍Java项目中单元测试的教育资源,主要针对Junit这个单元测试框架进行讲解。单元测试是软件开发过程中的一个重要环节,它旨在验证软件中的最小可测试单元,如单个方法或类,...

    junit单元测试实验

    junit单元测试实验 JUnit是Java语言中一种流行的单元测试框架,它可以帮助开发者编写稳健、可靠的代码。本文将通过一个经典的案例,讲解如何使用JUnit结合Eclipse进行单元测试。 知识点1:什么是单元测试 单元...

    Java单元测试之JUnit

    Java单元测试是软件开发过程中的重要一环,它主要用于验证代码的各个独立...通过实践`JunitTest`这个案例,你可以更好地理解如何利用JUnit进行单元测试,从而在日常开发中充分利用其优势,提升代码质量和项目的稳定性。

    JAVA单元测试JUnit

    ### JAVA单元测试JUnit的核心知识点详解 #### 一、JUnit概览与重要性 JUnit作为一款卓越的Java单元测试框架,自问世以来便以其强大的功能和易用性深受开发者喜爱。由软件大师Erich Gamma和Kent Beck共同打造,...

    Junit单元测试的实验报告.docx

    简单介绍了Junit的安装过程与实例应用。应用的问题是软件测试中的佣兵问题,整个文档中有代码及测试结果,可以更好地帮助学生了解Junit单元测试中的作用。

    软件测试 单元测试 junit

    软件测试 单元测试 junit 开源工具哦,希望大家喜欢用!

    单元测试工具Junit的简单使用

    ### 单元测试工具Junit的简单使用 #### 一、引言 随着软件开发规模的不断扩大和技术的日益复杂化,软件质量成为了决定项目成败的关键因素之一。单元测试作为提高软件质量的重要手段,在软件开发过程中扮演着至关...

Global site tag (gtag.js) - Google Analytics