zoukankan      html  css  js  c++  java
  • 用maven搭建 testNG+PowerMock+Mockito测试框架

    单元测试是开发中必不可少的一部分,是产品代码的重要保证。

    Junit和testNG是当前最流行的测试框架,Junit是使用最广泛的测试框架,有兴趣的话自己baidu一下。

    testNG基于Junit和Nunit,并引入了很多特性,使其更强大和更易于使用。

    有兴趣的可以直接看一下官网:http://testng.org/doc/index.html

    用maven可以很方便的构建测试框架。

    在这里以maven为例搭建一个测试框架

    编辑pom.xml引入必要的jar包

    <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <powermock.version>1.6.3</powermock.version>
            <cobertura.version>2.1.1</cobertura.version>
            <sonar.version>5.1</sonar.version>
            <junit.version>4.12</junit.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.powermock</groupId>
                <artifactId>powermock-module-testng</artifactId>
                <version>${powermock.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.powermock</groupId>
                <artifactId>powermock-api-mockito</artifactId>
                <version>${powermock.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>net.sourceforge.cobertura</groupId>
                <artifactId>cobertura</artifactId>
                <version>${cobertura.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.codehaus.sonar</groupId>
                <artifactId>sonar-plugin-api</artifactId>
                <version>${sonar.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.powermock</groupId>
                <artifactId>powermock-module-junit4</artifactId>
                <version>${powermock.version}</version>
                <scope>test</scope>
            </dependency>
        </dependencies>

     基本的框架已经搭建,下面写一个最简单的测试类

    很多例子取自<<PowerMock实战手册>><<Instant Mock Testing with PowerMock>>

    http://wenku.baidu.com/link?url=hKW9B15IRoqIrjpWKYDeR_cGL9hRgYvbT7-rbds59i19l70qzGeW7x3Tzr24Vwuq-vWHggOq6XOs_saW33Li7E492UlXWM8JIpyKMyhvhwa

    待测试类:

    public class EmployeeService {    
        
        public String hello(){
            return "Hello word!";
        }
    }

    测试类:

    public class EmployeeServiceTest {    
        @Test
        public void hello(){
            Assert.assertEquals(employeeService.hello(), "Hello word!");
        }
    }

    这是一个不能再简单的例子了,如果IDE有testNG插件的话,直接右键EmployeeServiceTest→run as→testNG test就可以运行。

    结果如下:

    [TestNG] Running:
      C:UserschangzhzAppDataLocalTemp	estng-eclipse--447685701	estng-customsuite.xml
    
    PASSED: hello
    
    ===============================================
        Default test
        Tests run: 1, Failures: 0, Skips: 0
    ===============================================
    
    
    ===============================================
    Default suite
    Total tests run: 1, Failures: 0, Skips: 0
    ===============================================
    
    [TestNG] Time taken by org.testng.reporters.SuiteHTMLReporter@5f205aa: 344 ms
    [TestNG] Time taken by org.testng.reporters.JUnitReportReporter@424c0bc4: 47 ms
    [TestNG] Time taken by org.testng.reporters.jq.Main@2ff5659e: 196 ms
    [TestNG] Time taken by [FailedReporter passed=0 failed=0 skipped=0]: 0 ms
    [TestNG] Time taken by org.testng.reporters.EmailableReporter2@1996cd68: 4 ms
    [TestNG] Time taken by org.testng.reporters.XMLReporter@27ddd392: 13 ms

    或者用maven运行 :mvn clean test

    用maven调用时,请确保测试类以Test或testCase结尾

    这个例子太简单了,只是简单说明怎么构架,怎么运行。

  • 相关阅读:
    大网管 www.bigit.com
    WinAPI: midiOutUnprepareHeader 清除由 midiOutPrepareHeader 完成的准备
    WinAPI: midiInGetNumDevs 获取 MIDI 输入设备的数目
    WinAPI: midiInUnprepareHeader 清除由 midiInPrepareHeader 完成的准备
    WinAPI: midiInPrepareHeader 为 MIDI 输入准备一个缓冲区
    转贴一组 Delphi 官方网站介绍 IDE 功能的动画
    WinAPI: midiOutPrepareHeader 为 MIDI输出准备一个缓冲区
    WinAPI: midiOutGetNumDevs 获取 MIDI 输出设备的数目
    WinAPI: midiInGetID 获取输入设备 ID
    动画演示 Delphi 2007 IDE 功能[4] 自定义界面
  • 原文地址:https://www.cnblogs.com/changzhz/p/5158068.html
Copyright © 2011-2022 走看看