簡體   English   中英

如何使用intellij和maven對Web應用程序運行集成測試

[英]how to run integration test for a web application with intellij and maven

我正在將Java中的Web應用程序從ANT遷移到MAVEN,以解決庫和依賴項的問題。 我正在使用IDE“ intellij IDEA 14”。

我將.java文件移至main / java文件夾,將資源(.properties和XML)移至main / resources文件夾,然后將.jsp文件移至main / webapps文件夾。 我已經擁有該應用程序的可執行版本,而沒有依賴問題。

現在我在TDD上遇到了問題,我將測試文件移到了test / java文件夾,但是當我運行集成測試時,它們都失敗了,因為它們找不到webapps文件夾的資源。

更准確地說,失敗的測試是那些檢查了jasper-report生成的報告的報告,這些報告位於webapps內的報告文件夾中。

當查看目標文件夾中生成的文件夾時,我看到我有一個帶有每個tdd .class的“ test-classes”文件夾和一個帶有源代碼.class的“ classes”文件夾,但是沒有地方可以看到webapps文件。

該測試在使用ant的版本中運行時沒有問題,當我在ANT中構建時,它會生成一個項目文件夾,其中包含webapps文件夾中的文件,並在WEB-INF中對源代碼和TDD的.class文件進行分類。

我檢查文件夾設置是否正確 在此處輸入圖片說明

這些測試使用文件路徑:../../../modulo/reporte/file_name來查看jrxml文件是否存在於view文件夾的module / report文件夾中。

生成報告文件路徑的類在project / web-inf / classes / system中,並使用以下代碼:

URL path = Constantes.class.getResource (rutaReporte)

之后,檢查它們是否編譯並返回有效結果(完整的JasperPrint)

使用Intellij進行集成測試需要做什么?

我使用“ maven-resources-plugin”插件修復了該問題,將所有webapp資源復制到測試類,以便tdd可以找到要測試的資源

這是我的pom配置:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    ...


    <build>
    ...

        <plugins>
            ...

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.6</version>
                <executions>
                    <execution>
                        <id>additional-resources</id>
                        <phase>process-test-resources</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.testOutputDirectory}</outputDirectory>
                            <resources>
                                <resource>
                                    <directory>${project.basedir}/src/main/webapp</directory>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM