Guys,

I want to discuss the subject again. It is pretty vivid that having wide
set of local unit and simple integration tests most likely help to avoid
many failures and bugs when going to server environment.

I participated in many POC and I can say for sure - if developers are not
implementing local tests then their application is broken. This is true for
the entire industry. Why does anyone think that Ignite and distributed
systems in general are exceptions here? Complexity added by distributed
nature probably needs local tests even more.

So, what Ignite already offers here and what can be done further?

1. Ignite offers ability to emulate cluster and even many cluster in a
single VM. Let's create a page on readme.io explaining how to start
topologies in a single VM and provide couple examples of unit tests for
cache operations and, for example, queries. Denis Magda, can you help?
(Yes, we don't have the page explaining how to test Ignite locally!)

2. Ignite has a large and rich set of tests in its code base. We can
provide the link on the page at p1.

3. Let's create maven archetype for Ignite. So, executing the command [1]
will bring me inited project with valid poms, sample batch scripts, sample
Ignite configs, sample logger configuration and test sources folder
containing several JUnits (!!).

[1]  mvn archetype:generate \
          -DinteractiveMode=false \
          -DarchetypeGroupId=org.apache.ignite \
          -DarchetypeArtifactId=ignite-app-archetype \
          -DgroupId=org.sample \
          -DartifactId=sampleapp \
          -Dversion=1.0

Please share your thoughts and we can file tickets to start moving.

--Yakov

Reply via email to