`

java junit 参数化

阅读更多

junit参数化测试的使用方法

     

    package springMybatis.test;  
      
    import java.util.Arrays;  
    import java.util.Collection;  
      
    import org.junit.BeforeClass;  
    import org.junit.Test;  
    import org.junit.runner.RunWith;  
    import org.junit.runners.Parameterized;  
    import org.junit.runners.Parameterized.Parameters;  
      
    import springMybatis.service.IUserService;  
    import springMybatis.util.FactoryManager;  
    import springMybatis.vo.User;  
      
    //(1)步骤一:测试类指定特殊的运行器org.junit.runners.Parameterized  
    @RunWith(Parameterized.class)  
    public class TestSpringMybatis {  
          
        private static IUserService userService = null;  
      
        @BeforeClass  
        public static void setUp() {  
            FactoryManager.init("conf/beans/beans-springMybatis.xml");  
            userService = (IUserService) FactoryManager.getBean("userService");  
        }  
      
        // (2)步骤二:为测试类声明几个变量,分别用于存放期望值和测试所用数据。此处我只放了测试所有数据,没放期望值。  
        private int idParam;  
        private String usernameParam;  
      
        // (3)步骤三:为测试类声明一个带有参数的公共构造函数,并在其中为第二个环节中声明的几个变量赋值。  
        public TestSpringMybatis(int id, String username) {  
            this.idParam = id;  
            this.usernameParam = username;  
        }  
      
        // (4)步骤四:为测试类声明一个使用注解 org.junit.runners.Parameterized.Parameters 修饰的,返回值为  
        // java.util.Collection 的公共静态方法,并在此方法中初始化所有需要测试的参数对。  
        @Parameters  
        public static Collection usernameData() {  
      
            return Arrays.asList(new Object[][] { { 1, "jacky" }, { 2, "andy" },  
                    { 3, "tomcat" }, });  
      
        }  
      
        // (5)步骤五:编写测试方法,使用定义的变量作为参数进行测试。  
        @Test  
        public void testFindByName() {  
            System.out.println("-------------");  
            User user2 = userService.findByName(usernameParam);  
            System.out.println(user2);  
        }  
      
        // (5)步骤五:编写测试方法,使用定义的变量作为参数进行测试。  
        @Test  
        public void testFindById() {  
            System.out.println("************");  
            User user1 = userService.findById(idParam);  
            System.out.println(user1);  
      
        }  
    }  

 

分享到:
评论

相关推荐

    junit参数化测试的使用方法

    ### JUnit参数化测试的使用方法 #### 一、引言 JUnit是Java开发中最常用的单元测试框架之一,它提供了一种简单的方式来编写可重复执行的测试案例。随着软件复杂度的增加,对于某些功能模块可能需要多次使用不同的...

    Junit参数化测试源代码

    而Junit参数化测试是JUnit框架的一个强大特性,允许我们使用不同的输入数据多次执行同一个测试用例,这对于验证方法在各种边界条件或输入组合下的行为非常有用。下面我们将详细探讨Junit参数化测试的概念、使用方法...

    java junit包,可以直接下载使用

    - 参数化测试:允许用不同的参数多次运行同一个测试方法。 - 修复器(Fixtures):用于设置和清理测试环境,如@Before和@After注解的方法会在每个测试方法之前和之后执行。 - 假对象(Mocks)和存根(Stubs):...

    Java单元测试之JUnit

    JUnit 5是目前广泛使用的版本,它带来了许多新特性,如参数化测试、注解增强、测试生命周期控制等。 要开始使用JUnit,你需要在项目中引入JUnit库。对于Maven项目,可以在pom.xml文件中添加JUnit依赖: ```xml ...

    junit测试_java_JUnit_JUnit测试_

    此外,JUnit还提供了更高级的功能,如参数化测试(Parameterized Tests),允许使用不同的输入数据运行同一个测试方法;异常测试(Exception Testing),可以通过`@Test(expected = Exception.class)`来检查代码是否...

    junit4 jar包 Java单元测试框架绿色免费版.zip

    在实际项目中,开发者通常会配合使用`@RunWith`注解来选择测试运行器(Test Runner),比如`@RunWith(Suite.class)`或`@RunWith(Parameterized.class)`,以实现更复杂的测试场景,如组合测试或参数化测试。...

    基于Java参数化测试的边界值分析方法实验设计源码

    该项目为Java参数化测试的边界值分析方法实验设计源码,包含25个文件,其中包括6个Java源文件、5个XML配置文件、5个CSV数据文件、2个Markdown文件、2个Gradle构建文件、1个Git忽略文件、1个JAR包文件、1个属性文件、...

    JUnit——Java测试框架

    JUnit5是JUnit的最新版本,进一步扩展了其功能,引入了如参数化测试、条件测试、可中断测试等新特性,以满足更复杂的测试需求。JUnit5的兼容性也更强,可以在各种Java平台上运行,包括Java 8及更高版本。 总的来说...

    junit4测试jar包

    5. **参数化测试**:`@Parameterized`测试可以使用不同的参数多次运行同一个测试方法,这对于测试多种输入情况非常有用。 6. **超时测试**:`@Test(timeout = 1000)`可以设置测试方法的执行时间限制,超过设定时间...

    Junit5.jar包,代码测试工具

    - **参数化测试**:`@ParameterizedTest`注解允许用不同的参数集运行同一个测试方法,增强了测试的覆盖率。 - **条件测试**:`@Disabled`注解可以禁用某个测试,`@Tag`则可以标记测试,以便按需选择执行。 2. **...

    Pragmatic Unit Testing in Java with JUnit源码

    4. 参数化测试:通过`@Parameters`注解,JUnit支持参数化的测试,可以对一组不同的输入数据执行相同测试逻辑。 5. 注解驱动:JUnit利用注解来声明测试类和方法,使得测试配置更加灵活,同时也支持自定义注解以满足...

    JUnit多参数测试实例整合FizzBuzz

    在处理多参数测试时,JUnit提供了一个名为`@Parameterized`的注解,用于创建参数化的测试类。通过这个注解,我们可以为每个测试方法传入一组或多组参数,从而实现对多种情况的覆盖。 FizzBuzz问题是软件面试中常见...

    selenium+java+junit+maven

    10. **测试数据管理**:根据需求,可以设计数据驱动测试或参数化测试,将测试数据从代码中分离,提高测试的复用性和可读性。 在给定的“ecshop”文件中,可能是ECSHOP电子商务系统的相关测试案例或者配置文件。具体...

    刚发布的最新版 Junit 4.0

    其次,Junit 4.0引入了参数化测试,通过`@Parameters`注解,可以为单个测试方法提供多组输入参数,实现对同一逻辑的多种情况的测试,极大地提高了代码复用率。同时,`@RunWith`注解允许用户自定义测试运行器,这为...

    单元测试之道Java版:使用JUnit

    5. **参数化测试**:JUnit支持参数化测试,允许以不同的参数多次执行同一测试。这一特性在测试多种输入组合时非常有用。 6. **测试套件与分类**:测试套件可以将多个测试组织在一起,便于批量执行。分类则可以将...

    fizz-buzz-gradle-java:FizzBu​​zz Kata 使用 Gradle、Java 和 JUnit 参数化测试

    《FizzBuzz问题与Gradle、Java及JUnit参数化测试的深度解析》 FizzBuzz问题,一个常见的编程面试题目,旨在检验开发者的编程基础和逻辑思维能力。在这个项目中,我们利用Gradle作为构建工具,Java作为编程语言,...

    Java单元测试JUnit4.7

    2. **参数化测试**:允许用不同的参数运行同一测试方法,这样可以测试多种情况,比如遍历各种输入值,确保方法在所有情况下都能正确处理。 3. **异常测试**:使用@Test注解的可选属性expected,可以指定方法应该抛...

    单元测试之道Java版使用JUnit

    JUnit 5引入了新的测试引擎和扩展机制,使得测试更加灵活,比如参数化测试、条件测试、异步测试等。 总的来说,掌握JUnit对于Java开发者来说至关重要,它可以帮助我们在编码阶段发现和修复问题,提高代码质量,减少...

    (正式)Java之JUnit, Log4J, Ant, HttpClient, ApacheCommons

    JUnit支持注解、参数化测试、异常测试等多种测试模式,使得测试过程更加高效和灵活。 2. Log4J:这是一个强大的日志记录框架,用于在Java应用程序中进行日志记录。它允许开发者自定义日志级别(如DEBUG、INFO、WARN...

Global site tag (gtag.js) - Google Analytics