相关疑难解决方法(0)

如何为Junit单元测试设置JVM参数?

我有一些需要大量堆空间运行的Junit单元测试 - 即1G.(他们为仅在足够的堆空间运行的webstart应用程序测试内存密集型功能,并且将在Win 7 64位计算机上内部运行 - 因此重新设计测试并不是一个实用的建议.)

我在Intellij IDEA中开发,所以我知道我可以为测试类设置JVM参数(例如-Xmx1024M).但是,这仅用于运行整个测试类 - 如果我想运行单独的测试,我必须重新创建该测试方法的运行配置.

此外,这些是IDE和特定于盒子的 - 所以如果我切换盒子(我在多台机器上开发)或者我的一个同事试图运行测试,那么这些设置不会被转移.(此外,我的同事也使用其他IDE,如Eclipse和NetBeans.)FWIW,我们使用mercurial进行源代码控制.

对于构建周期,我们使用Maven,所以我知道如何为此指定JVM参数.

所以: - 我正在寻找一种方法来指定适用于整个测试类和各个测试方法的JVM参数; - 我想在任何机器上的IDE之间共享这些规范(从存储库中获取代码).

java junit unit-testing jvm intellij-idea

90
推荐指数
5
解决办法
11万
查看次数

Maven - 在执行测试时将目录添加到类路径

我项目中的Junits需要从类路径加载属性文件.如何指定这些属性文件的目录,以便Maven在运行测试之前在类路径中设置它?

maven-2

41
推荐指数
5
解决办法
6万
查看次数

使用本机库进行Surefire JUnit测试

我们在Hudson中使用Maven来运行我们的Java构建过程和Surefire插件来执行JUnit测试但是我遇到了一个需要本机dll的项目的单元测试问题.

我们看到的错误是:

测试错误:TestFormRegistrationServiceConnection(com.#productidentifierremoved#.test.RegistrationServiceTest):java.library.path中没有Authenticator

Authenticator是我们需要的DLL的名称.我发现这个SO帖子表明设置它的唯一方法是通过argLine.我们将配置修改为:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-report-plugin</artifactId>
        <version>2.10</version>
        <configuration>
            <forkMode>once</forkMode>
            <argLine>-Djava.library.path=${basedir}\src\main\native\Authenticator\Release</argLine>
        </configuration>
    </plugin>
Run Code Online (Sandbox Code Playgroud)

但是,如果我们包含System.out.println(System.getProperty("java.library.path")),这仍会产生相同的错误; 我们可以看到这没有添加到路径中.

我们如何解决这个问题?

maven maven-surefire-plugin

9
推荐指数
1
解决办法
8390
查看次数