美文网首页
Jersey 搭建单元测试环境

Jersey 搭建单元测试环境

作者: cystone | 来源:发表于2019-11-25 15:06 被阅读0次

IDEA 创建 Jersey 项目及增加单元测试的流程。

1. 创建 Jersey 项目

在 IDEA 中按以下步骤操作:New Project --> Maven --> Create from archetype --> org.glassfish.jersey.archetypes:jersey-quickstart-webapp --> jeresy-quickstart-webapp:2.29.1。 如图:

1.png

然后 Next ,填写 GroupId 和 ArtifactId ,选择项目路径等等,直到完成。

2. 配置 Run

在 IDEA 中按以下步骤操作:Run --> Edit Configurations --> "+" --> Tomcat Server --> Local --> Server --> Application server --> Configure...。如图:

1.png

注意HTTP port 需要设置为一个为被占用的端口,例如:如果 8080 端口已经被其他应用占用,这里就可以换成 8081。如图:

3.png

然后配置编译文件的存放位置。 Deploymeng --> "+" --> Artifact... --> test:war exploded --> Edit Artifact --> Output directory 填写存放目录。

1.png

3. 运行项目

Run --> Run 'Tomcat' 打开浏览器即可看到效果。

1.png

4. 添加单元测试

支持 JUnit 和 TestNG 两种测试框架

使用 JUnit 测试框架:

pom.xml 中添加 container 依赖:

        <dependency>
            <groupId>org.glassfish.jersey.test-framework.providers</groupId>
            <artifactId>jersey-test-framework-provider-grizzly2</artifactId>
            <version>${jersey.version}</version>
        </dependency>

添加测试方法:

package jerseytest;

import org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.test.JerseyTest;
import org.junit.Test;

import javax.ws.rs.core.Application;

import static org.junit.Assert.assertEquals;

public class MyResourceTest extends JerseyTest {

    @Override
    protected Application configure() {
        return new ResourceConfig(MyResource.class);
    }

    @Test
    public void testGetIt() {
        final String hello = target("myresource").request().get(String.class);
        assertEquals("Got it!", hello);
    }
}

使用 TestNG 测试框架:

pom.xml 中添加 container 和 TestNG 依赖:

        <dependency>
            <groupId>org.glassfish.jersey.test-framework.providers</groupId>
            <artifactId>jersey-test-framework-provider-grizzly2</artifactId>
            <version>${jersey.version}</version>
        </dependency>
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.14.3</version>
        </dependency>

添加测试方法:

package com.supermap.atlab;

import org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.test.JerseyTestNg;
import org.testng.annotations.Test;

import javax.ws.rs.core.Application;

import static org.testng.AssertJUnit.assertEquals;

public class MyResourceTest extends JerseyTestNg.ContainerPerClassTest {

    @Override
    protected Application configure() {
        return new ResourceConfig(MyResource.class);
    }

    @Test
    public void testGetIt() {
        final String hello = target("myresource").request().get(String.class);
        assertEquals("Got it!", hello);
    }
}

更多信息请参阅文档 Jersey Test Framework

相关文章

网友评论

      本文标题:Jersey 搭建单元测试环境

      本文链接:https://www.haomeiwen.com/subject/atzdwctx.html