当前位置: 首页 > 知识库问答 >
问题:

Maven为测试用例构建JAR

劳烨
2023-03-14

我使用maven在eclipse上开发了spring boot selenium web驱动程序项目。我在scr/test/java中运行测试,并将所有元素、页面和配置放入scr/main/java

现在我想创建可执行jar。怎么做?可能吗?我想让它从cmd运行,比如java-jar-mytask。jar

到目前为止,我尝试使用mvn clean安装,mvn clean包来生成。jar文件。但当我试图运行它时,它不起作用。它在scr/main/java中运行main。我想在scr/test/java

这是我的测试类:

import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.WebDriver;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import com.bca.magenta.pages.HomePage;

    @SpringBootTest
    class ApplicationTests {
    
        @Autowired
        HomePage homePage;
    
        @Autowired
        WebDriver driver;
    
        @BeforeEach
        public void before() {
            driver.manage().window().maximize();
        }
    
        @Test
        public void test() throws InterruptedException {
            homePage.testInsert();
        }
    
        @AfterEach
        public void after() {
            driver.quit();
        }
    
    }

这是我在src/main/java

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);     
    }
}

当我运行在日蚀作为jent. it运行正如我所期望的.但如何运行这个在罐?

共有1个答案

隗瑞
2023-03-14

使用shade插件,下面是一个示例:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>3.2.4</version>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <transformers>
                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                  <mainClass>org.sonatype.haven.HavenCli</mainClass>
                </transformer>
              </transformers>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
 类似资料:
  • 主要内容:构建项目,测试项目在上一节中,我们介绍了如何使用 archetype 创建 Maven 项目,接下来我们介绍如何构建和测试这个项目。 构建项目 查看 helloMaven 项目的 pom.xml 文件,配置如下。 从以上配置可知,Maven 已经添加了 Junit 作为该项目的测试框架,且 Maven 也在项目中自动生成了一个源码文件 App.java 和一个测试文件 AppTest.java 。 打开命令行窗口,

  • 首先请原谅我可能的无知,专业的做事方式对我来说很新鲜,如果有什么我没有提到的,请告诉我,我会尽力给你你需要的信息。。。 所以我试图用maven在Eclipse中构建我的webapp,我有一个测试套件 这很好,当我右键单击并以Junit test运行测试时,所有测试都通过了。 当我以Maven build的形式运行它,并以打包一系列测试为目标时,失败了??? 我的maven surefire插件配置

  • 我有一个.jar文件,我在那里打包了我的maven托管java项目,该项目也很少有Junit测试用例。现在我想从.jar文件运行测试用例。例如,从源代码中 将运行测试用例,但它不适用于.jar文件。 如何从.jar文件运行 Junit 测试用例?

  • 我们有一组UI测试每晚运行,有时一些测试由于网络故障而失败。为了避免假阴性测试结果,我使用了,它可以重新运行失败的测试多达3次。 当我从Eclispe右键单击套件运行测试时,它工作得非常好。xml—如果测试最初失败,但重试时通过,则第一个结果不算作失败。 但是,当作为Maven构建的一部分运行相同的测试时,如果任何测试失败,即使在重试时成功通过,构建也会失败。 例如,运行一个包含5个测试的套件,其

  • 考虑一个maven实用工具模块(模块1),它定义了一个抽象类:AbstractFoo.java。在测试资源下,编写了所述类的模型:foomockup.java。还编写了一个测试类:AbstractFootest.java。 现在考虑第二个模块(模块2),它包含一个使用AbstractFoo的类,并声明测试用例:bar.java和bartest.java。java在创建Bar实例的同时创建FooMo

  • 问题内容: 我正在尝试通过将值手动传递给构造函数来创建虚拟SearchResponse对象。我有一个JUnit测试类,正在使用该虚拟值模拟实际的方法调用。尝试以下方法 这是我直接查询elasticsearch时json的实际值。 我想通过创建实际的SearchResponse对象来创建类似的响应。但是我找不到任何方法来发送值。请让我知道我该怎么做。 问题答案: 这将做您想要的: 如果你调用的返回: