Unit testing 如何经营番石榴';什么是单元测试?

Unit testing 如何经营番石榴';什么是单元测试?,unit-testing,maven,guava,Unit Testing,Maven,Guava,我已通过以下命令克隆了Guava的存储库: git clone https://code.google.com/p/guava-libraries/ git克隆https://code.google.com/p/guava-libraries/ 因为我不完全熟悉番石榴的结构,所以我尝试了以下命令: cd guava-libraries mvn test cd番石榴图书馆 运行测试 不幸的是,我收到了以下错误(可以查看整个输出) [信息]------------------------------

我已通过以下命令克隆了Guava的存储库:

git clone https://code.google.com/p/guava-libraries/ git克隆https://code.google.com/p/guava-libraries/ 因为我不完全熟悉番石榴的结构,所以我尝试了以下命令:

cd guava-libraries mvn test cd番石榴图书馆 运行测试 不幸的是,我收到了以下错误(可以查看整个输出)

[信息]------------------------------------------------------------------------ [信息]构建与Guava GWT兼容的LIB [信息]任务段:[测试] [信息]------------------------------------------------------------------------ 下载:https://oss.sonatype.org/content/repositories/snapshots/com/google/guava/guava/13.0-SNAPSHOT/guava-13.0-SNAPSHOT-sources.jar [信息]在存储库sonatype nexus snapshots中找不到资源'com.google.guava:guava:jar:sources:13.0-SNAPSHOT'(https://oss.sonatype.org/content/repositories/snapshots) [信息]------------------------------------------------------------------------ [错误]生成错误 [信息]------------------------------------------------------------------------ [信息]无法解析工件。 缺失: ---------- 1) guava:guava:jar:sources:13.0-SNAPSHOT 尝试从项目网站手动下载该文件。 然后,使用以下命令安装: mvn安装:安装文件-DgroupId=com.google.guava-DartifactId=guava-Dversion=13.0-SNAPSHOT-dclassizer=sources-dpackage=jar-Dfile=/path/to/file 或者,如果您拥有自己的存储库,则可以在其中部署文件: mvn部署:部署文件-DgroupId=com.google.guava-DartifactId=guava-Dversion=13.0-SNAPSHOT-dclassizer=sources-dpackage=jar-Dfile=/path/to/file-Durl=[url]-DrepositoryId=[id] 依赖项的路径: 1) guava:guavagwt:jar:13.0-SNAPSHOT 2) guava:guava:jar:sources:13.0-SNAPSHOT ---------- 缺少1个必需的工件。 对于工件: guava:guavagwt:jar:13.0-SNAPSHOT 从指定的远程存储库: 中央的(http://repo1.maven.org/maven2), sonatype nexus快照(https://oss.sonatype.org/content/repositories/snapshots)
如何运行Guava的单元测试?

在完成本地存储库的安装之前,不能只运行mvn测试。请第一次运行:

mvn clean install

然后您只能运行
mvn测试
。快照库在存储库中尚不可用。

当候选版本从中可用时,为什么要使用快照修订版


番石榴
番石榴
13.0-rc2

说清楚,我没有选择使用快照修订版。我只是克隆了这个项目,并尝试运行它的单元测试。谢谢,这很有帮助。抛出了一些异常。我可能会在接下来的几天里进一步调查。很抱歉,在完成安装之前无法运行mvn测试的表达式是错误的。因为您不了解Maven构建生命周期,因为生命周期中的安装之前会进行测试。此外,如果mvn测试不起作用,则构建可能有问题。@khmarbaise您使用一个模块maven项目编写。现在想象一下-子项目B依赖于项目A。您没有编译/安装项目A。现在您正在尝试构建项目B。您将收到错误
,无法找到资源组ID:B:jar:sources:version SNAPSHOT
,因为项目A尚未上载/安装在任何存储库中。@ajozwik具有多模块构建,这同样适用。如果这些项目是独立的,那么你是对的。@khmarbaise魔鬼就在细节中。如果您在@AdamPaynter添加的日志中看到,
无法找到资源'com.google.guava:guava:jar:sources:13.0-SNAPSHOT'…
与guava GWT兼容的libs需要sources jar(不是二进制jar)。它是在集成后测试中构建的。因此,如果只调用测试,则不会调用集成后测试阶段,也不会将源jar部署到本地存储库。下载项目以了解详细信息。
mvn clean install
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>13.0-rc2</version>
</dependency>