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

利用JUnit4进行性能测试

阅读更多
<div class="iteye-blog-content-contain" style="font-size: 14px"></div>

JUnit 4 基本上是一个新框架,而不是旧框架的升级版本。
JUnit 4 没有 suite()方法,那么您需要一个具有集成 JUnit支持的 IDE,比如 Eclipse。

使用JUnit的测试方法必须按照规范书写
1. 测试方法必须使用注解 org.junit.Test 修饰。
2. 测试方法必须使用 public void 修饰,而且不能带有任何参数。
    @Test public void wordFormat4DBegin(){
        String target = "EmployeeInfo";
        String result = WordDealUtil.wordFormat4DB(target);
        
        assertEquals("employee_info", result);
    }


注解 org.junit.Test 中有两个非常有用的参数:expected 和 timeout。
1、参数 expected 代表测试方法期望抛出指定的异常,如果运行测试并没有抛出这个异常,则 JUnit 会认为这个测试没有通过。
        @Test(expected=UnsupportedDBVersionException.class)
        public void unsupportedDBCheck(){
            ……
        }

2、参数timeout,指定被测试方法被允许运行的最长时间应该是多少,如果测试方法运行时间超过了指定的毫秒数,则JUnit认为测试失败。
        @Test(timeout=1000)
        public void selfXMLReader(){
            ……
        }


测试驱动开发(TDD)是敏捷开发中一个非常好的实践,其具体做法是在着手编写代码之前,首先为需要完成的代码设置接受测试,一旦测试通过,就意味着代码实现完成。
TDD促使开发人员在实现代码之前准确定义代码功能,并通过这个准则避免开发人员增加不必要的功能。
世纪上,TDD方法同样适用于敏捷中的性能测试。如果有明确的针对函数的性能标准,同样可以被包含在测试中,并作为函数实现与否的德一个判定标准。
使用上述JUnit4的@Test(timeout=XXX)就能够达成这个目标。
如,可以测试一个计算菲波拉切数列函数的执行时间。
	@Test(timeout=12)
	public void compute() {

		Long l1 = 0L;
		Long l2 = 1L;
		Long l = 0L;
		for (int i = 0; i < 100000; i++) {
			l = l1 + l2;
			l1 = l2;
			l2 = l;
		}
		System.out.println(l);
	}


分享到:
评论

相关推荐

    Hibernate4+SpringMVC+Junit4+log4j环境搭建Jar包

    6. 集成JUnit4,编写测试类,使用@Test注解标记测试方法,进行单元测试。 7. 配置log4j,根据项目需求调整日志输出级别和目的地。 以上就是关于“Hibernate4+SpringMVC+Junit4+log4j环境搭建”的详细说明。在实际...

    使用JUnit和Maven轻松进行性能测试

    1. **JUnit性能测试**:JUnit 5引入了新的扩展机制,允许开发人员自定义测试行为,包括性能测试。例如,可以使用`@Tag`注解来标记性能测试类或方法,并使用`@RunWith`运行器来选择特定的测试执行策略。`...

    Jump into Junit4

    在本篇综述中,我们将深入探讨JUnit4的核心特性及其带来的新功能,包括参数化测试、异常测试和计时测试等,并介绍如何利用注解来逻辑分组测试用例。 #### Java 5 注解带来的变革 Java 5 的引入为JUnit带来了巨大的...

    软件测试 junit3.8.1

    6. **扩展性**:JUnit支持自定义测试规则(`TestRule`)和测试监听器(`TestListener`),这使得开发者可以定制测试行为,比如添加日志记录、性能测试等功能。 7. **可配置性**:JUnit可以通过配置文件或参数来控制...

    利用JUnit和Spring-test对SpringJDBC组件DAO层测试

    本话题将深入讲解如何利用JUnit和Spring-test这两个工具对SpringJDBC组件的DAO层进行有效测试。 首先,JUnit是一个流行的Java单元测试框架,它允许开发者编写可重复运行的测试用例,以验证代码的正确性。在针对...

    Junit5.7.2离线jar

    @RepeatedTest则允许对同一测试多次执行,可用于性能测试。@ParameterizedTest支持参数化的测试,可以从数据源获取多组输入,执行相同测试逻辑但使用不同参数。 在Spring框架的上下文中,JUnit5可以很好地与Spring ...

    junit5-r5.5.2.zip

    - **测试监听器**:允许通过实现`Extension`接口自定义测试行为,如日志记录、性能测试等。 - **自定义断言**:JUnit 5提供`Assertions`类,可以方便地创建自己的断言库。 6. **测试分组与分层** - **测试分组**...

    软件测试与Junit实践 pdg

    通过以上步骤,我们可以利用Junit高效地进行单元测试,提高软件质量。同时,良好的测试实践也能促进代码的模块化和可读性,降低维护成本。在实际项目中,应当结合TDD(测试驱动开发)理念,先编写测试再实现功能,...

    junit4.8.1 单元测试 完整压缩包

    在JUnit 4.8.1中,Categories特性是一个强大的工具,它允许开发者将测试组织成不同的类别,比如基础测试、性能测试或集成测试。这样,开发人员可以针对特定的测试类别运行测试,提高了测试的灵活性和效率。修复的bug...

    junit基本介绍,junit常用的接口和类,如何编写测试代码

    4. **使用断言**:利用`Assert`类提供的方法验证测试结果。 ### 需要注意的问题 - **测试的独立性**:确保每个测试方法之间相互独立,避免相互影响。 - **测试数据**:合理安排测试数据,确保测试的全面性和准确性...

    MySql驱动MyBatis架包,JUnit架包

    在MyBatis中,我们通常会为每个Mapper接口创建对应的测试类,利用JUnit进行单元测试,验证SQL查询的正确性。同时,JUnit可以与其他测试工具(如Mockito)配合,模拟数据库交互,使得测试更加独立和可控。 Log4j是...

    对基于Junit的测试代码自动化生成的研究

    标题中的“对基于Junit的测试代码自动化生成的研究”表明,这个主题主要关注的是如何利用Junit这个单元测试框架来实现测试代码的自动化生成。Junit是Java编程语言中最常用的测试框架之一,它使得开发者能够方便地...

    软件测试与Junit实践.rar

    软件测试的目标是对软件的功能、性能、兼容性、安全性等多个方面进行全面验证,以找出并修复潜在的错误和缺陷。测试分为多个层次,如单元测试、集成测试、系统测试和验收测试。单元测试是最基础的测试阶段,主要关注...

    hibernate和junit的jar

    开发人员先使用JUnit编写测试用例,确保代码的正确性,然后利用Hibernate来处理数据库操作,简化数据访问层的实现。通过引入这些jar文件,开发者可以在本地环境中快速搭建开发和测试环境,进行高效可靠的Java应用...

    junit-4.7.jar,junit-4.11.jar

    标题中的“junit-4.7.jar”和“junit-4.11.jar”指的是JUnit框架的不同版本,这是Java编程语言中广泛使用的单元...通过这些知识点的学习,开发者可以有效地利用JUnit进行单元测试,提高代码质量,确保程序的稳定性。

    SpringBoot第 3 讲:SpringBoot+Junit+Log4J

    在JUnit测试中,我们可以利用Log4J记录测试过程中的信息,帮助分析测试结果。例如,当测试失败时,可以通过日志查看失败的原因,或者在测试执行前、后记录关键状态,以便于理解和调试测试逻辑。 7. **示例代码**:...

    Junit4学习笔记—入门篇.pdf

    3. **性能优化**:如何利用JUnit提高测试效率,减少不必要的重复测试,优化测试环境等。 4. **持续集成**:如何将JUnit测试集成到持续集成流程中,确保每次代码变更都能自动进行测试。 5. **错误处理**:如何更好地...

    testng junit 下一代测试框架

    这对于大型项目或需要进行性能测试的情况尤其有用。 2. **测试分组**:TestNG引入了测试分组的概念,允许你将相关测试逻辑组织在一起,便于管理、运行和跳过特定组的测试。 3. **注解丰富**:除了JUnit的`@Test`,...

Global site tag (gtag.js) - Google Analytics