My question is why would I want to use rake, make, or ant in any of my automated tests. I specifically use Ruby with Selenium-Webdriver and I have thus far used test-unit to wrap my test cases to make the results easier to read and to make suites of tests easier to run. I want to grow my test environment but I am having a hard time understanding why I would want to use any of these tools. Any advise is appreciated. Thanks
-
Are you familiar with rake, make, and ant?– user246Commented Aug 23, 2012 at 16:38
-
No, I know that they exist and what they are generally used for. I want to know what I am missing out on in my current environment not using a tool like this.– Zach ReichertCommented Aug 23, 2012 at 16:48
1 Answer
rake, make, and ant are tools for building and running software. Each tool came from a different background: rake from the needs of Ruby developers; make for Unix development, and ant for Java development. These tools are very popular because they provide shorthand ways to describe common activities like compiling, linking, building libraries, and running tests.
If a development organization already relies on rake/make/ant, then integrating new tasks into the development process is easier if they, too, work with rake/make/ant. If your tasks do not work with those tools, you may create additional work for someone. For example, if people are used to having ant or make take care of all the environmental setup associated with running a test suite (e.g. installing software in the right place, configuring directories, setting environment variables), and your test suite requires doing that by some other means, you have created a reason for people to not use your test suite.
That said, rake/make/ant are batch processes: you type a command on your computer or on a build machine and then wait for it to finish. In my experience, build machines are often headless, and it is problematic running automated UI tests on headless machines.
Finally, I assume you ask the question because someone suggested to you that you should use rake/make/ant. If that is true, and especially if they work with you, I suggest asking them about it and listening carefully while keeping an open mind. It may be that their needs are different from yours. Even if their needs do not make sense to you, it may be easier to give them what they want than to convince them that your way is just as good or better.
-
Thanks, I just assumed that they were intended just to build software. I would like to have a more flexible environment to run tests (compared to running them in test::unit). I asked this question not because someone I worked with someone who recommended it but because I have read a lot about people using tools like this. It was just not explained very well exactly what they were accomplishing by using them. Commented Aug 23, 2012 at 22:02