### Question:
BuildIdeRepoAction extends AbstractAction { @Override public boolean run() { List<String> tags = getTags(); if(tags.isEmpty()) { logger.info("git 仓库中没有标注 tag"); } else { tags.forEach(tag -> GitUtils.getVersionFromRefName(tag).ifPresentOrElse(version -> buildTag(tag, version), () -> ignoreBuild(tag))); } if(buildMaster) { buildMaster(); } ensureCheckoutMaster(); return success; } BuildIdeRepoAction(ExecutionContext context); void enableBuildMaster(boolean enable); @Override boolean run();  }### Answer:
@DisplayName("如果没有指定 tag 或分支，则不 build，但仍返回 true") @Test public void run_tags_and_branches_is_empty() throws IOException { initIdeRepo(); context.putValue("buildMaster", false); var action = new BuildIdeRepoAction(context); assertThat(action.run()).isTrue(); }