我已经到处寻找这个问题的答案了。修昔底德的文档似乎非常有限,而且/或者他们不希望人们这么早就有问题。我主要关注具有此过程的http://thucydides.info/docs/thucydides-one-page/thucydides.html。
我通过创建一个新项目
mvn archetype:generate并选择net.thucydides:thucydides-simple-archetype
安装后,我转到位于/home/user/.m2/settings.xml的settings.xml并输入:
<pluginGroups>
<pluginGroup>net.thucydides.maven.plugins</pluginGroup>
</pluginGroups>然后运行
mvn test thucydides:aggregate我得到了:
[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] ------------------------------------------------------------------------什么都没发生?测试已经设置好了,它们不是@Pending或者其他什么,它们只是被完全忽略了。这是默认提供的SearchByKeywordStoryTest.java:
@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() {
}
} 我很感谢你的帮助。我不知道我错过了什么--我是maven,selenium和thucydides的新手,所以我确信我做错了什么。一旦我实际运行了JUnit测试,我就可以开始了……谢谢。
发布于 2014-04-26 00:13:23
找到了-在我的POM中,我有:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
...
</plugins>当我问这个问题的时候,我没有看到这一点。为什么这会成为原型中的标准?我没有头绪。
谢谢。
发布于 2014-07-31 01:56:16
默认原型将所有内容配置为作为集成测试运行,而不是作为单元测试运行(例如,故障安全而不是surefire)。
这意味着它们不能在mvn:test上运行,需要执行mvn:verify。
请参见:
http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
https://stackoverflow.com/questions/23297718
复制相似问题