Integration testing best practices

Hi,

How are large q projects normally integration tested?

We can easily unit test with qspec or K4Unit. But usually q code involves multiple processes interacting with each other, which requires the code to be tested as a group.

Would love to hear how this is usually done at larger organizations. Is it possible to do continuous integration through Travis CI, Github, Slack, etc.?

Thanks,

Morten

Hi
I gave a presentation on that on a London KX Meetup last year.
Here is the link to the presentation:

   https://docs.google.com/presentation/d/1SFtNVjchf_HPOWd-aAR1uEP8e20bFLE7nATYFpRCmTM/edit?usp=sharing

There’s a proposal for yet another test framework,but very simple, with bladeRunner it’s CI ready (used jenkins for presentation), it allows you to run , unit, integration and full end to end system tests very easily.

q framework one-liner:

.t set TENGqr!(('[.[.t.R;();,;];])@/:{.[x;(),y;0b]}@/:(1b~;~;('[~:;~]);>)),{ -1 sv[“|”;.z.x 1 2 3 9],/: .Q.s2 count each group x; exit any not x},{ r,:@[{system x; .t.R};"l ", .z.x 4;{ -2 x; 0b}]; .t.q[r]}; .t.r

I just started putting this all to my github:

https://github.com/prodrive11/yATF.q

Thanks
Pat

2016-07-27 16:36 GMT+01:00 Morten <samsogade@gmail.com>:

Hi,

How are large q projects normally integration tested?

We can easily unit test with qspec or K4Unit. But usually q code involves multiple processes interacting with each other, which requires the code to be tested as a group.

Would love to hear how this is usually done at larger organizations. Is it possible to do continuous integration through Travis CI, Github, Slack, etc.?

Thanks,

Morten


Submitted via Google Groups