我在集成测试的beforeAll方法中使用Java客户端为Kubernetes API创建了一个自定义对象。创建自定义对象后,也会创建豆荚。但是,仅当我将Thread.sleep设置几秒钟时,它才起作用。没有它,将创建对象,然后执行所有测试。我还定义了对自定义对象状态的监视,但它也无济于事。 还有其他方法(Thread.sleep除外)保持几秒钟,直到创建Pod?
用于自定义对象创建的代码:
DatabaseReference reference = FirebaseDatabase.DefaultInstance.GetReference("Leaders").Child("List1");
reference.GetValueAsync().ContinueWith(task =>
{
int totalChildren = (int)task.Result.ChildrenCount;
//Do more stuff
}
答案 0 :(得分:1)
您可以在一个while循环中同步检查是否已创建Pod:
// while
val currentPodList = getCoreV1Api()
.listPodForAllNamespaces(null /* _continue */,
null /* fieldSelector */,
null /* includeUninitialized */,
null /* labelSelector */,
null /* limit */,
"false" /* pretty */,
null /* resourceVersion */,
null /* timeoutSeconds */,
false /* watch */)
.getItems();
// check items from currentPodList
// end while