I am currently working on a Java library – that is, a bunch of classes that are exclusively intended to be used in other projects. Naturally, it has no main() function.
Now, I want to test my progress. And by “test” I don’t mean some professional standardized system; I mean I have a very simple function that I want to run to gather information, which will be modified as the project becomes more complete.
I was hoping I could drop an executable class into the Test Packages folder, and just click Run. Unfortunately, NetBeans complains that there are no main classes found.
So, how do I test a library project, without adding an executable class to my distributable source?
You should absolutely look into unit testing frameworks, such as JUnit. IDEs typically have support for running tests easily, and it looks like Netbeans does too. (I don’t use Netbeans myself, but I’d have been shocked if it didn’t support JUnit.) It’s a lot simpler to do this than to have
mainmethods everywhere. After all, amainmethod will only test one route through your code – with unit tests, you can have lots of tests, each testing one small piece of your code.Even if you don’t want to go into unit testing in a fully-fledged way (which I’d strongly urge you to, by the way), unit tests can be a very straightforward way of just running some code and experimenting with it. I sometimes use it when developing against a 3rd party library for the first time – leaving unit tests to show and document my understanding of the library’s behaviour. (Obviously the better the library and its documentation, the less need there is for this, but it’s still useful…)