1

I have looked all over the place for answers to this. It would appear thucydides documentation is very limited and/or they were not expecting people to have problems this early. I am mainly following http://thucydides.info/docs/thucydides-one-page/thucydides.html which has this process.

I create a new project via

mvn archetype:generate

and select net.thucydides:thucydides-simple-archetype

After installing it, I go to my settings.xml located at /home/user/.m2/settings.xml and put in:

<pluginGroups>
  <pluginGroup>net.thucydides.maven.plugins</pluginGroup>
</pluginGroups>

And run

mvn test thucydides:aggregate

And I get:

[INFO] ------------------------------------------------------------------------
[INFO] Building Sample Thucydides project 1
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ .thucydides ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /opt/AM_Thucydides/thucydides/src/main/resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ .thucydides ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ .thucydides ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /opt/AM_Thucydides/thucydides/src/test/resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ .thucydides ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- maven-surefire-plugin:2.12:test (default-test) @ .thucydides ---
[INFO] Tests are skipped.
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building Sample Thucydides project 1
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-thucydides-plugin:0.9.229:aggregate (default-cli) @ .thucydides ---
[INFO] LOADING LOCAL THUCYDIDES PROPERTIES FROM /home/user/thucydides.properties 
[INFO] LOADING LOCAL THUCYDIDES PROPERTIES FROM /opt/AM_Thucydides/thucydides/thucydides.properties 
[INFO] LOADING LOCAL THUCYDIDES PROPERTIES FROM /opt/AM_Thucydides/thucydides/thucydides.properties 
[INFO] Using requirements providers: [net.thucydides.core.statistics.service.AnnotationBasedTagProvider@40712ee9, net.thucydides.core.statistics.service.FeatureStoryTagProvider@2e53b094, net.thucydides.core.requirements.FileSystemRequirementsTagProvider@39fa8ad2, net.thucydides.core.requirements.AnnotationBasedTagProvider@76ddd61a]
[INFO] ADDING REQUIREMENTS PROVIDER net.thucydides.core.requirements.FileSystemRequirementsTagProvider@39fa8ad2
[INFO] ADDING REQUIREMENTS PROVIDER net.thucydides.core.requirements.AnnotationBasedTagProvider@76ddd61a
[INFO] Reading requirements from net.thucydides.core.requirements.FileSystemRequirementsTagProvider@39fa8ad2
[INFO] Reading requirements from net.thucydides.core.requirements.AnnotationBasedTagProvider@76ddd61a
[INFO] Requirements found:[]
log4j:WARN No appenders could be found for logger (freemarker.cache).
log4j:WARN Please initialize the log4j system properly.
[INFO] Generating release reports for: []
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 18.164 s
[INFO] Finished at: 2014-04-25T11:38:33-05:00
[INFO] Final Memory: 16M/120M
[INFO] ------------------------------------------------------------------------

Nothing is happening? The tests are set up and they are not @Pending or anything, they are just completely ignored. This is the SearchByKeywordStoryTest.java that comes by default:

@Story(Application.Search.SearchByKeyword.class)
@RunWith(ThucydidesRunner.class)
public class SearchByKeywordStoryTest {

    @Managed(uniqueSession = true)
    public WebDriver webdriver;

    @ManagedPages(defaultUrl = "http://en.wiktionary.org/wiki/Wiktionary:Main_Page")
    public Pages pages;

    @Steps
    public EndUserSteps endUser;

    @Issue("#WIKI-1")
    @Test
    public void searching_by_keyword_apple_should_display_the_corresponding_article() {
        endUser.is_the_home_page();
        endUser.looks_for("apple");
        endUser.should_see_definition("A common, round fruit produced by the tree Malus domestica, cultivated in temperate climates.");

    }

    @Test
    public void searching_by_keyword_banana_should_display_the_corresponding_article() {
        endUser.is_the_home_page();
        endUser.looks_for("pear");
        endUser.should_see_definition("An edible fruit produced by the pear tree, similar to an apple but elongated towards the stem.");
    }

    @Pending @Test
    public void searching_by_ambiguious_keyword_should_display_the_disambiguation_page() {
    }
} 

I appreciate any help. I haven't a clue what I'm missing - I'm new to maven, selenium and thucydides so I'm sure I'm doing something wrong. Once I get the JUnit tests actually running I'll be good to go... Thanks.

ricky116
  • 744
  • 8
  • 21

2 Answers2

1

Found it - in my POM I had:

    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.12</version>
            <configuration>
                <skip>true</skip>
            </configuration>
        </plugin>
        ...
    </plugins>

I didn't see that when I asked the question. Why would this be standard in the archetype? I have no idea.

Thanks.

ricky116
  • 744
  • 8
  • 21
0

The default archetype configures everything to run as integration tests, not unit tests (i.e. failsafe instead of surefire).

Which means they don't run on mvn:test, need to do mvn:verify.

See:

http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

soru
  • 5,464
  • 26
  • 30