首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何构建运行测试套件的maven工件?“sbt测试”是如何工作的?

如何构建运行测试套件的maven工件?“sbt测试”是如何工作的?
EN

Stack Overflow用户
提问于 2017-11-09 22:17:23
回答 1查看 340关注 0票数 0

我是scala开发人员,所以我将尝试用sbt示例来解释我的想法,但我相信java开发人员可以理解我

传统的scala/java项目结构如下:

代码语言:javascript
运行
复制
src ->
 - main
 - test
 - it

test文件夹在概念上用于单元测试(用于测试应用程序逻辑)。因此,您可以运行'sbt test‘并对您的应用程序进行测试。此代码必须靠近您的应用程序。

也许这是离题的,这是我的问题:

可以构建运行所有测试的jar工件吗?我不想仅仅为了运行测试而启动sbt。我想用集成测试套件构建许多jar工件

代码语言:javascript
运行
复制
java my-super-service-it-case1.jar

如果测试已经通过,这将给出退出代码0

代码语言:javascript
运行
复制
java my-super-service-it-case2.jar 

所以..。

我认为我需要在main块中运行测试。

EN

回答 1

Stack Overflow用户

发布于 2017-11-09 22:53:22

我不建议在你的程序的主要功能中混合你的任何测试,有一个非常好的插件可以做你想做的事情,Maven Surefire Plugin,它应该在Scala上工作得很好,但我自己从来没有弄乱过Scala。

在这里写出你需要的东西可能太多了,但在文档和许多示例中都有很好的介绍。您可以指定具有包含和排除的不同目标,因此您可以执行单元测试或验收测试,例如:

代码语言:javascript
运行
复制
mvn verify -P acceptance-tests -Dbuild.env=sit

它在POM.XML文件中配置了以下配置文件

代码语言:javascript
运行
复制
<profile>
  <id>acceptance-tests</id>
  <activation>
    <property>
      <name>env.BUILD_STAGE</name>
      <value>ACCEPTANCE</value>
    </property>
  </activation>
  <build>
    <plugins>
      <!-- skip unit tests -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <skipTests>true</skipTests>
        </configuration>
      </plugin>

      <!-- run acceptance tests (during integration-test phase) -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>integration-test</goal>
              <goal>verify</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <includes>
            <include>**/*AT*.*</include>
          </includes>
          <excludes>
            <exclude>**/*Test.*</exclude>
            <exclude>**/*IT.*</exclude>
          </excludes>
        </configuration>
      </plugin>
    </plugins>
  </build>
</profile>

我的所有验收测试都使用AT like、myTestAT.java命名

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47204115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档