小编npe*_*der的帖子

如果设置了skipITs,如何跳过maven阶段预集成测试?

我有一些依赖于测试数据的集成测试.该测试数据在阶段创建并在阶段中pre-integration-test删除post-integration-test.

我的问题是,如果我-DskipITs在Maven命令行上使用这些阶段仍然执行.

有没有什么方法-DskipITs可以跳过预集成测试和后集成测试阶段?

这是pom中的插件定义:

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sql-maven-plugin</artifactId>
<version>1.5</version>

<dependencies>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.6</version>
    </dependency>
</dependencies>

<configuration>
    <driver>com.mysql.jdbc.Driver</driver>
    <url>${database.url}</url>
    <username>${database.user}</username>
    <password>${database.pw}</password>
</configuration>

<executions>
    <execution>
        <id>create-integration-test-data</id>
        <phase>pre-integration-test</phase>
        <goals>
            <goal>execute</goal>
        </goals>
        <configuration>
            <orderFile>descending</orderFile>
            <fileset>
                <basedir>${basedir}/src/test/resources/sql</basedir>
                <includes>
                    <include>AdministrationTestTeardown.sql</include>
                    <include>AdministrationTestSetup.sql</include>
                </includes>
            </fileset>
        </configuration>
    </execution>

    <execution>
        <id>remove-data-after-test</id>
        <phase>post-integration-test</phase>
        <goals>
            <goal>execute</goal>
        </goals>
        <configuration>
            <fileset>
                <basedir>${basedir}/src/test/resources/sql</basedir>
                <includes>
                    <include>AdministrationTestTeardown.sql</include>
                </includes>
            </fileset>
        </configuration>
    </execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

integration-testing maven maven-failsafe-plugin maven-lifecycle

14
推荐指数
2
解决办法
5804
查看次数

使用生成的 webclient API 调用失败的 webservice 时,有没有办法获取错误响应对象?

我有一个 REST 服务,它接受一个 id 和两个字符串作为 json,并返回 id 和连接为 json 的两个字符串。如果出现错误,它可以返回状态代码 400、404 和 500,并在正文中包含 json 错误响应。

swagger.json 文件如下所示:

{
  "swagger": "2.0",
  "info": {
    "description": "---",
    "version": "---",
    "title": "---"
  },
  "basePath": "/rest",
  "tags": [
    {
      "name": "Concatenation resource"
    }
  ],
  "schemes": [
    "http",
    "https"
  ],
  "paths": {
    "/concatenation/{id}/concat": {
      "post": {
        "tags": [
          "Concatenation resource"
        ],
        "summary": "Concatenates two strings",
        "description": "",
        "operationId": "concatenate",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true, …
Run Code Online (Sandbox Code Playgroud)

java openapi spring-webflux openapi-generator spring-webclient

9
推荐指数
0
解决办法
4710
查看次数

如何在zip中为gradle分发插件更改目标文件夹

我正在使用gradle分发插件创建一个zip文件:

distributions {
    installer {
        baseName 'installer'
        contents {
            from 'src/main/installer'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在zip中,文件被放入一个名为<basename>-<version>eg 的文件夹中installer-0.2.1-SNAPSHOT,我希望它们直接放在zip的根目录中,这可能吗?

gradle gradlew build.gradle gradle-plugin

8
推荐指数
0
解决办法
1463
查看次数

Camel路由无法生成随机UUID

我想在Camel路由中生成随机UUID.(骆驼版2.15.3)

我希望UUID对于每次路由运行都是不同的,即使路由运行两次而没有重新启动Camel上下文.我正在使用java.util.UUID(Java 1.8.0)生成随机UUID.

但是路由为每次路由运行生成相同的UUID,但是如果重新启动Camel上下文,则生成新的UUID.

骆驼路线:

import org.apache.camel.LoggingLevel;
import org.apache.camel.builder.RouteBuilder;

import java.util.UUID;

public class UuidLogger extends RouteBuilder {
    private final String loggerID = getClass().getName();

    @Override
    public void configure() throws Exception {
        from("direct:uuidLogger").routeId("uuidLogger")
                .log(LoggingLevel.INFO, loggerID, "UuidLogger triggered with $simple{body}, headers: $simple{headers}")
                .onException(Exception.class)
                    .log(LoggingLevel.ERROR, loggerID, "Fail: Exception. Body: $simple{body}, Headers: $simple{headers}, Stacktrace: $simple{exception.stacktrace}")
                    .handled(true)
                .end()
                .setBody(simple(UUID.randomUUID().toString()))
                .log(LoggingLevel.INFO, loggerID, "Generated UUID: $simple{body}")
                .to("mock:uuidLoggerMock")
                .log(LoggingLevel.INFO, loggerID, "UuidLogger done");
    }
}
Run Code Online (Sandbox Code Playgroud)

显示失败的JUnit测试:

import com.systematic.cura.integration.vans.common.UuidLogger;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.test.junit4.CamelTestSupport;
import org.junit.Test;

public class UuidLoggerTest extends …
Run Code Online (Sandbox Code Playgroud)

java uuid apache-camel java-8

6
推荐指数
1
解决办法
2178
查看次数