Şu satırı dahil ederiz
import com.hazelcast.jet.pipeline.test.AssertionSinks;
Testlerde kullanmak için TestSources sınıfı var. Ama TestSinks diye bir şey yok. Sinks veya
AssertionSinks kullanılabilir
assertCollectedEventually metodu
Source nesneden gelen elemanları bir tane listede saklar. Elemanlar serialization işlemine maruz kalmazlar. Eğer bu test Sink nesnesi yerine bir başka Sink kullanmak istersek nesnenin Serializable olması gerekir.
Örneğin Kafka'dan bir şey okumak istersek org.apache.kafka.connect.source.SourceRecord nesnesi Serializable olmadığı için Failed to serialize 'org.apache.kafka.connect.source.SourceRecord' hatası alırız. Kafka'dan gelen nesneyi bir projection metodu veya .map() çağrısı ile kendi nesnemize çevirmek gerekir
Örnek
Şöyle yaparız
Pipeline pipeline = Pipeline.create(); ... .writeTo(Sinks.logger()); .writeTo(AssertionSinks.assertCollectedEventually(60, list -> assertEquals(100, list.size())));
Hiç yorum yok:
Yorum Gönder