如何在没有 ArgumentCapture 的测试中从方法中获取随机生成的参数?

问题描述

我想在调用方法获取传递给方法的参数。由于是随机生成的,所以很难做Assert。

示例:

class Car{
public void closeCar(){
      Integer doorNumber = new Integer(RandomInt);
      closeService.closeDoor(doorNumber);
    }
}

如何获得生成doorNumber?如果我使用@ArgumentCaptor 捕获数字,我不知道如何进行断言,因为我不知道除了什么。

解决方法

在这种情况下,您无法准确验证随机值,但您可以验证他的类型(Integer 的实例)、其无效性或新的 Integer 不会引发异常(取决于您使用的 Integer 的构造函数)。