【发布时间】:2022-01-15 10:46:58
【问题描述】:
我已经尝试了几种方法来解决这个异常。这是我从未工作过的应用程序中的现有测试。
import com.amazonaws.services.kinesis.clientlibrary.lib.worker.KinesisClientLibConfiguration;
import com.amazonaws.services.kinesis.clientlibrary.lib.worker.Worker;
@ExtendWith(MockitoExtension.class)
class TeamEventStreamWorkerTest {
@Mock
Worker worker;
@Mock
KinesisClientLibConfiguration kinesisClientLibConfiguration;
@Test
void onApplicationEvent() throws InterruptedException {
TeamEventStreamWorker teamEventStreamWorker = new TeamEventStreamWorker(null, null, null, kinesisClientLibConfiguration, null) {
Worker createDynamoDbStreamsWorker() {
return worker;
}
};
doNothing().when(worker).run();
teamEventStreamWorker.onApplicationEvent(null);
// Wait to make sure worker run is called by the async mechanism
Thread.sleep(1000);
verify(worker).run();
}
}
我知道问题出在 worker.run() 方法上。 worker 和 kinesis object 是来自 amazon 的 Kinesis 库的对象。
注意:最奇怪的是,当我在本地机器(IntelliJ)上测试时完美运行,但是当我进行推送并且 Jenkins 作业开始尝试时,总是返回相同的错误。
【问题讨论】:
标签: java amazon-web-services mocking mockito amazon-kinesis