【问题标题】:Maven run Angular tests during buildMaven 在构建期间运行 Angular 测试
【发布时间】:2020-04-23 20:36:54
【问题描述】:

我有一个基于 Maven 的项目,后端使用 Spring,前端使用 Angular 8,我想在构建期间自动运行 Angular 单元测试。

我读到通常使用 PhantomJS,但它不再维护,所以我希望看到一个完整的,即使是基本的,能够在构建期间运行 Angular 测试的应用程序示例。

我还读到有可用的无头 chrome,但我不清楚如何连接东西以使测试运行。

谁能给我一个例子,好吗?

【问题讨论】:

  • 什么版本的 Angular?什么软测试(单元测试或集成测试)? Chrome 无头是两种测试的方法。
  • @SanderSluis 信息已添加到问题中

标签: angular spring maven testing


【解决方案1】:

这就是我最终要做的:

<build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.3.2</version>
                <executions>
                    <execution>
                        <id>karma</id>
                        <goals>
                            <goal>exec</goal>
                        </goals>
                        <phase>test</phase>
                        <configuration>
                            <executable>npm</executable>
                            <arguments>
                                <argument>test</argument>
                                <argument>--</argument>
                                <argument>--watch=false</argument>
                            </arguments>
                            <skip>${skipTests}</skip>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

【讨论】:

    【解决方案2】:

    要运行角度单元测试,您应该运行:

    ng test
    

    它会自动下载您需要的工具(包括 chrome headless)。更多信息可以在这里找到:https://angular.io/guide/testing

    如果你必须从 maven 运行它,你可以使用

    exec-maven-plugin
    

    例如:I want to execute shell commands from Maven's pom.xml

    但您最好将前端和后端构建分开并将它们视为单独的工件。

    【讨论】:

    • 如果我运行“ng test”,它将等待打开浏览器会话。如问题中所述,我正在寻找一个完整的示例。
    • 您应该首先让您的测试独立运行,无需 maven。如果“ng test”正在等待浏览器会话,您很可能遇到了配置问题。检查“karma.conf.js”。
    猜你喜欢
    • 1970-01-01
    • 2010-09-30
    • 2017-08-31
    • 2016-03-09
    • 2018-06-18
    • 2018-08-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多