XcodeBuilder extends Builder implements Script { @Override public Element buildWithTarget(Map<String, String> properties, String target, Progress progress) throws CruiseControlException { arguments.overrideTarget(target); try { return build(properties, progress); } finally { arguments.resetTarget(); } }  @Override Element build(Map<String, String> properties, Progress progressIn); @Override Element buildWithTarget(Map<String, String> properties, String target, Progress progress); @Override void validate(); Commandline buildCommandline(); int getExitCode(); void setExitCode(int result); void setDirectory(String path); Element getElementFromLine(String line); void setTimeout(long timeout); @Description("Pass specified argument to xcodebuild. The element has the required attribute: value.") Arg createArg();  }
@Test public void buildWithTargetShouldBePassedToCommandLine() throws CruiseControlException { final Called cmdLine = new Called(); builder = builderForBuildTest(cmdLine); builder.buildWithTarget(buildProperties, "target", null); assertTrue(cmdLine.called); assertTrue(cmdLine.with.contains("-target target")); }