小编far*_*nlq的帖子

如何解决“参数不同!” Junit 和 Mockito 中的 Wanted' 错误

在执行涉及包含 verify.save() 方法的JUnit测试用例时,我收到以下错误“参数不同!” 通缉'

@Test
public void checkCorrectAttemptTest() {
    Multiplication multiplication = new Multiplication(50, 60);
    User user = new User("abc");
    MultiplicationResultAttempt attempt = new MultiplicationResultAttempt(user, multiplication, 3000, false);
    MultiplicationResultAttempt verifiedAttempt = new MultiplicationResultAttempt(user, multiplication, 3000, true);
    when(userRepository.findByAlias("abc")).thenReturn(Optional.empty());
    boolean attemptResult = multiplicaitonServiceImpl.checkAttempt(attempt);
    assertThat(attemptResult).isTrue();

    verify(attemptRepository).save(verifiedAttempt);
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息。

Argument(s) are different! Wanted:
attemptRepository.save(
    MultiplicationResultAttempt [user=User [alias=abc], multiplication=Multiplication [factorA=50, factorB=60], resultAttempt=3000, correct=true]
);
-> at microservices.book.multiplication.service.MultiplicationServiceImplTest.checkCorrectAttemptTest(MultiplicationServiceImplTest.java:60)
Actual invocation has different arguments:
attemptRepository.save(
    MultiplicationResultAttempt [user=User [alias=abc], multiplication=Multiplication [factorA=50, factorB=60], resultAttempt=3000, correct=true]
);
-> …
Run Code Online (Sandbox Code Playgroud)

java rest junit mockito spring-boot

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

标签 统计

java ×1

junit ×1

mockito ×1

rest ×1

spring-boot ×1