public String getNormalizedTestNameFor(final TestOutcome testOutcome, final String qualifier) { String userStory = ""; if (testOutcome.getUserStory() != null) { userStory = NameConverter.underscore(testOutcome.getUserStory().getName()) + "_"; } String normalizedQualifier = qualifier.replaceAll(" ", "_"); return appendSuffixTo( userStory + withNoArguments(testOutcome.getMethodName()) + "_" + normalizedQualifier); }
/** * Return a filesystem-friendly version of the test case name. The filesytem version should have * no spaces and have the XML file suffix. */ public String getNormalizedTestNameFor(final TestOutcome testOutcome) { String testName = ""; if (testOutcome.getUserStory() != null) { testName = NameConverter.underscore(testOutcome.getUserStory().getName()); } String scenarioName = NameConverter.underscore(testOutcome.getMethodName()); testName = withNoIssueNumbers(withNoArguments(appendToIfNotNull(testName, scenarioName))); return appendSuffixTo(testName); }
@Override public Optional<Requirement> getParentRequirementOf(TestOutcome testOutcome) { if (testOutcome.getUserStory() == null || testOutcome.getUserStory().getUserStoryClass() == null || testOutcome.getUserStory().getUserStoryClass().getName() == null) { return Optional.absent(); } String name = testOutcome.getUserStory().getUserStoryClass().getName().replace(rootPackage + ".", ""); return Optional.fromNullable(getRequirementsByPath().get(name)); }
@Test public void an_acceptance_test_relates_to_a_user_story() { net.thucydides.core.model.Story story = net.thucydides.core.model.Story.from(MyApp.MyUserStory.class); TestOutcome testOutcome = TestOutcome.forTestInStory("some_test", story); assertThat(testOutcome.getUserStory().getName(), is("My user story")); }
@Test public void an_acceptance_test_records_the_original_story_class() { net.thucydides.core.model.Story story = net.thucydides.core.model.Story.from(MyApp.MyUserStory.class); TestOutcome testOutcome = TestOutcome.forTestInStory("some_test", story); assertThat( testOutcome.getUserStory().getUserStoryClass().getName(), is(MyApp.MyUserStory.class.getName())); }
@Test public void a_test_outcome_can_be_initialized_directly_from_a_story() { testOutcome = TestOutcome.forTest("should_do_this", AUserStory.class); Assert.assertThat(testOutcome.getUserStory().getName(), is("A user story")); }