小编San*_*Rey的帖子

原因:不存在类型变量 T 的实例,因此 void 符合使用 mockito

我想在运行 void 方法时抛出异常

when(booking.validate(any())).thenThrow(BookingException.builder().build());
Run Code Online (Sandbox Code Playgroud)

但我有一个编译错误:

Required type: T
Provided: void
reason: no instance(s) of type variable(s) T exist so that void conforms to T
Run Code Online (Sandbox Code Playgroud)

java junit spring mockito spring-boot

22
推荐指数
2
解决办法
2万
查看次数

SpringBoot upgrade RestTemplateBuilder from 1.5.14 to 2.1.5

I have this piece of code working fine on a project that uses RestTemplateBuilder 1.5.14

this.restTemplate = restTemplateBuilder
                .setConnectTimeout(connectTimeout)
                .setReadTimeout(readTimeout)
                .requestFactory(new MyHttpComponentFactoryBuilder()
                        .build())
                .build();
Run Code Online (Sandbox Code Playgroud)

After updating to RestTemplateBuilder 2.1.5 I have this piece of code:

this.restTemplate = restTemplateBuilder
                .setConnectTimeout(Duration.ofMillis(connectTimeout))
                .setReadTimeout(Duration.ofMillis(readTimeout))
                .requestFactory(new MyHttpComponentFactoryBuilder().build().getClass())
                .build();
Run Code Online (Sandbox Code Playgroud)

but when running the code I have a InvocationTargetException / NullPointerException that dissapears when deleting the line .requestFactory(new MyHttpComponentFactoryBuilder().build().getClass()) , but debugging new MyHttpComponentFactoryBuilder().build().getClass() is not null

I also tried with the solution proposed:

... 
.requestFactory(new MyRequestFactorySupplier()) …
Run Code Online (Sandbox Code Playgroud)

java spring resttemplate spring-boot spring-resttemplate

14
推荐指数
1
解决办法
885
查看次数

期望一个函数在 Jest 中抛出异常

我有一个函数 ( hostelService.book) 返回一个 promise: returnPromise.resolve(response); 并且我做了这个测试:

const action = async () => {
        await hostelService.book(id);
    };


  await expect(action).rejects.toThrow();
Run Code Online (Sandbox Code Playgroud)

但我有这个错误:

 Matcher error: received value must be a promise
Run Code Online (Sandbox Code Playgroud)

javascript node.js typescript jestjs

11
推荐指数
3
解决办法
2万
查看次数

使用wiremock时连接被拒绝

我在 Junit 中有这段代码,在那里我清楚地将端口设置为 8888

when(clientUtils.getLinkUrl(eq(HOSTELS_MICROSERVICE.name()), eq(HOSTELS_MICROSERVICE.name()), anyMap()))
                .thenReturn("http://localhost:8888/HOSTELS/HOSTELSMethods");

stubFor(com.github.tomakehurst.wiremock.client.WireMock.get("/HOSTELS/HOSTELS_LIST").willReturn(
                aResponse().withStatus(200)
                        .withHeader("Content-Type", APPLICATION_JSON_VALUE)
                        .withBody(ResourceUtils.getResourceFileAsString ("__files/HOSTELS.json"))));
Run Code Online (Sandbox Code Playgroud)

但是当我运行测试时,我在这一行出现了这个错误:

stubFor(com.github.tomakehurst.wiremock.client.WireMock.get("/HOSTELS/HOSTELS_LIST").willReturn(..
Run Code Online (Sandbox Code Playgroud)

和错误:

wiremock.org.apache.http.conn.HttpHostConnectException: Connect to localhost:8080 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused: connect
Run Code Online (Sandbox Code Playgroud)

java junit mockito spring-boot wiremock

10
推荐指数
2
解决办法
1万
查看次数

Java 8 - 将 LocalDate 转换为 OffsetDateTime

我想知道是否可以在 Java 8 中将 LocalDate 转换为 OffsetDateTime。

例如假设我有这个 LocalDate:

1992-12-28
Run Code Online (Sandbox Code Playgroud)

然后我想把它转换成这样OffsetDateTime

1992-12-28T00:00-03:00
Run Code Online (Sandbox Code Playgroud)

假设我们知道时区,例如 America/Santiago。

java datetime date datetime-conversion java-8

9
推荐指数
3
解决办法
1万
查看次数

无法在我的测试类中创建 Lombok 类:此处不允许使用修饰符静态

我想在测试类中创建一个 Lombok 类

@RunWith(SpringRunner.class)
@SpringBootTest
public class HostelIntegrationTest  {


    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    @JsonInclude(NON_NULL)
    @EqualsAndHashCode
    class User {
        String property1;
        Instant property2;
        Integer property3;
    }
Run Code Online (Sandbox Code Playgroud)

但我收到此编译错误:

此处不允许使用修饰符 static

java lombok

8
推荐指数
2
解决办法
6465
查看次数

Lambda表达式中的方法引用的方法引用

我是Java 8的新手,具有以下表达式:

 .map(mc -> mc.getName().getDefaultName())
Run Code Online (Sandbox Code Playgroud)

我想知道是否可以将其替换为:

.map(TeleBadalonaCampaignType::getName::getDefaultName)
Run Code Online (Sandbox Code Playgroud)

java lambda functional-programming java-8 method-reference

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

比较物体的玩笑。细绳

我在玩笑中收到这个结果

result1 -> {
        "partyRoleIdentifier": {
          "internalEmployeeIdentifier": {
            "id": "id-modified"
          }
        }
      }
Run Code Online (Sandbox Code Playgroud)

我做这样的比较:

expect(result).toBe('{\"partyRoleIdentifier\": {\"internalEmployeeIdentifier\": {\"id\": \"id-modified\"}}}');
Run Code Online (Sandbox Code Playgroud)

但我得到了这个结果:

 Expected: "{\"partyRoleIdentifier\": {\"internalEmployeeIdentifier\": {\"id\": \"id-modified\"}}}"
    Received: {"partyRoleIdentifier": {"internalEmployeeIdentifier": {"id": "id-modified"}}}
Run Code Online (Sandbox Code Playgroud)

javascript json node.js typescript jestjs

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

无法在 IntelliJ IDEA 上运行测试

我在 IntelliJ IDEA 中有一个 Java/maven 项目,但是当我尝试运行测试时,我收到了消息Nothing Here

在此输入图像描述

java junit intellij-idea

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

在 Lombok 的构建器中使用超类的自定义设置器

我想在 Lombok 的构建器中使用自定义设置器并覆盖 1 个方法,如下所示

@SuperBuilder
public class User implements Employee {
    private static final PasswordEncoder ENCODER = new BCryptPasswordEncoder();

    private String username;

    private String password;

    public static class UserBuilder {
        public UserBuilder password(String password) {
            this.password = ENCODER.encode(password);
            return this;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但我有这个编译错误

Existing Builder must be an abstract static inner class.
Run Code Online (Sandbox Code Playgroud)

java lombok

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