【问题标题】:RFT and JUnit Related IssueRFT 和 JUnit 相关问题
【发布时间】:2011-04-30 22:36:30
【问题描述】:

我试图在现有的 RFT 框架内创建一个 Junit 测试框架。 JUnit 设置工作正常,我们不必实例化任何框架类。每当我们尝试访问框架类时,它都会引发以下异常。我确实在网上寻找过类似的问题,但找不到解决方案。如果有人遇到类似问题,请提出解决方案。 RFT 版本是 8.1,JUnit 版本是 4

java.lang.NoClassDefFoundError: com.ibm.rational.test.lt.arm.IArmable
 at java.lang.ClassLoader.defineClass(ClassLoader.java:265)
 at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:69)
 at java.net.URLClassLoader.defineClass(URLClassLoader.java:521)
 at java.net.URLClassLoader.access$300(URLClassLoader.java:66)
 at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:985)

【问题讨论】:

    标签: java junit junit4 rft


    【解决方案1】:

    我想通了:

    您必须将 jar “com.ibm.rational.test.lt.rftarm_8.2.1.v20120105_1832.jar”添加到您的 Java 构建路径。我的位于 C:/Program Files/IBM/IMShared/plugins/。它与 RFT 一起提供,但默认情况下似乎没有包含在构建路径中。

    【讨论】:

      【解决方案2】:

      这看起来像一个类路径错误。如果您从 ANT、Maven 或一些类似的构建工具调用 JUnit,请确保您在类路径中有适当的 JAR 文件。请记住,一些 JARS 又具有它们自己的依赖项。除非所有这些依赖项都在类路径中,否则您将得到 java.lang.NoClassDefFoundError。

      如果您尝试从 GUI 客户端运行,可能会有点困难。本质上,您必须将所有依赖项添加到 jvm 的 -classpath 选项中。

      【讨论】:

      • 我也有同样的问题;类路径应该没问题,因为我可以运行实际的 RFT 测试。是否有单独的类路径作为 JUnit 测试运行?
      • 除非您编译的 RFT 与您运行的 RFT 不同,否则 NoClassDefFoundError 是类路径问题的症状。不具体了解 RFT,但知道 JUnit 的常见问题,它确实取决于如何调用 JUnit 测试。没有像 .NET 中的 DLL 依赖项那样自动加载 Jar。如果您使用 GUI 加载程序运行 JUnit,则必须确保类路径还包含所有依赖项。等等。
      • 看起来 RFT 仅在 jUnit 上下文中使用某个 jar,而不在正常脚本操作中使用。详情见我的回答
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-20
      • 2011-09-11
      • 1970-01-01
      • 1970-01-01
      • 2019-07-02
      相关资源
      最近更新 更多