Take the 2-minute tour ×
Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. It's 100% free, no registration required.

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

share|improve this question
    
Are you familiar with rake, make, and ant? –  user246 Aug 23 '12 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 Reichert Aug 23 '12 at 16:48
add comment

1 Answer

up vote 4 down vote accepted

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.

share|improve this answer
    
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. –  Zach Reichert Aug 23 '12 at 22:02
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.