Unit testing approach for nginx modules

Yichun Zhang (agentzh) agentzh at gmail.com
Tue Nov 24 14:10:31 UTC 2015


Hello!

On Sun, Nov 22, 2015 at 5:40 AM, Ritesh Jha <ritesh.jha at hotmail.com> wrote:
> Hello everyone,
> We are developing nginx modules to implement few usecases in our product.
> Most of the other usecases cases have been implemented using Java. At my
> office we follow TDD for Java development. TDD for Java development is easy
> due to availability of unit-testing and mocking frameworks. We are wondering
> if we can follow TDD for development of nginx modules as well. We have tried
> couple of unit-testing frameworks for C (Unity and CMocka) but we have found
> it very difficult to write useful testcases using these frameworks.
>
> Can you please suggest a suitable approach? Also if unit testing is not the
> way to go, then what should be the approach for developing, testing and
> maintaining large nginx modules?
>

I've been using my Test::Nginx module on CPAN for all my nginx
modules' test suite for years:

    https://metacpan.org/pod/Test::Nginx::Socket

We've also been using subclasses of this test framework to drive
CloudFlare's Lua business systems' test suites :)

Almost all the test suites of the NGINX components listed in the
following page for my Amazon EC2 test cluster's test report are driven
by Test::Nginx:

    http://qa.openresty.org

All these opensource modules' test suites can serve as live examples.

Oh yeah, we definitely need more hands-on tutorials to explain all the
powerful features of this test framework. I'll write up something soon
:)

Best regards,
-agentzh



More information about the nginx-devel mailing list