Douglas Squirrel just posted about the issues he’s having with slow functional tests. My last big project was a large website that used Selenium for functional testing. I thought I’d share what worked: Make damn sure that Selenium doesn’t spawn a new browser. If you use (for example) JUnit tests that call Selenium objects for [...]
(image taken from slashcrisis’ photostream) Today I’m just going to share a pet hate: poor target names in build files. Yes, that’s scratching the surface: there’s plenty of other things to get wrong in your build. But today’s gripe is target names. Here’s an anonymised example from a real project: <?xml version=”1.0″ ?><project name=”project” default=”tests” [...]
Nat Pryce left a comment on my post A real BuildRefactoring, in the wild: IntelliJ can do some simple refactorings of Ant scripts: extractproperty, rename target, rename property, etc. But refactoring of Ant and Nant is very difficult because they have noconsistent syntax or semantics. They are just quick hacks that havegrown kludge by kludge [...]
(image taken from SideLong’s photostream) Welcome to the final Ant Best Practices post. The last topic of the series is wrapper scripts. Most projects end up having one or more of these. The very first Java project that I did had about a dozen of them. They generally look like this: #!/bin/sh/usr/bin/ant -f myGreatProject.xml $1 [...]
(image taken from Clearly Ambiguous’ Photostream) We’re back to the best practices this weekend with 12 of 15: Use Ant as the Least Common Denominator. What are we talking about? The answer is here. What does the common denominator mean? There’s generally a conflict around this on software projects. I’ll explain: The developer wants to [...]