https://issues.apache.org/jira/browse/SAMZA-681 tracks the first effort towards the driver program or unit test harness for samza tasks that Chinmay is referring to. ᐧ
On Tue, Jun 16, 2015 at 6:11 PM, Chinmay Soman <chinmay.cere...@gmail.com> wrote: > We've built a driver program which kinda falls along approach (1) listed in > your email. > > The driver program accepts a custom task object and has a way to inject > data -> which in turn invokes the process method. For now we're assuming > logical time and use the frequency of process() invocations to deduce when > to invoke the window() method (for eg: invoke window once for every 4 calls > to process). > > We've also built our own Incoming and Outgoing envelope -> which is just in > the form of a Java List. This is how the result is evaluated (either get > the full result list or define a callback which is invoked every time a > collector.send is called). Its still work in progress and the goal is to > make unit testing along the lines of Storm unit tests. > > On Tue, Jun 16, 2015 at 5:17 PM, Chris Riccomini <criccom...@apache.org> > wrote: > > > Hey Tim, > > > > This is a really good discussion to have. The testing that I've seen with > > Samza falls into two categories: > > > > 1. Instantiate your StreamTask, and mock all params in the > process()/init() > > methods. > > 2. A mini-ontegration test that starts ZooKeeper, and Kafka, and feeds > > messages into a topic, and validates it gets messages back out from the > > output topic. > > 3. A full blown integration test that uses Zopkio. > > > > For an example of (2), in practice, have a look at TestStatefuleTask: > > > > > > > > > https://git-wip-us.apache.org/repos/asf?p=samza.git;a=blob;f=samza-test/src/test/scala/org/apache/samza/test/integration/TestStatefulTask.scala;h=ea702a919348305ff95ce0b4ca1996a13aff04ec;hb=HEAD > > > > As you can see, writing this kind of integration test can be a bit > painful. > > > > (3) is documented here: > > > > http://samza.apache.org/contribute/tests.html > > > > Another way to test would be to start a full-blown container using > > ThreadJobFactory/ProcessJobFactory, but use a MockSystemFactory to mock > out > > the system consumer/system producer. > > > > Has anyone else tested Samza in other ways? > > > > Cheers, > > Chris > > > > On Tue, Jun 16, 2015 at 11:00 AM, Tim Williams <william...@gmail.com> > > wrote: > > > > > I'm learning samza by the hello-samza project and notice the lack of > > > tests. Where's a good place to learn how folks are properly testing > > > things written with samza? > > > > > > Thanks, > > > --tim > > > > > > > > > -- > Thanks and regards > > Chinmay Soman >