testing - 运行集成测试时出现 java.lang.NoSuchMethodError

标签 testing gradle cdi jboss-arquillian

我有一个非常基本的简单配置如下

    --- clip ---

    compile group: 'org.jboss.arquillian', name: 'arquillian-bom', version: '1.4.0.Final', ext: 'pom'
    testCompile group: 'org.jboss.arquillian.junit', name: 'arquillian-junit-container', version: '1.4.0.Final'
    testCompile group: 'org.jboss.arquillian.container', name: 'arquillian-weld-ee-embedded-1.1', version: '1.0.0.Final'
    testCompile 'org.jboss.weld:weld-core:2.4.5.Final'

    testCompile group: 'junit', name: 'junit', version: '4.11'
--- end clip ---

这是我的测试课

    @RunWith(Arquillian.class)
public class TooltipGeneratorTest {

    @Deployment
    public static JavaArchive createDeployment() {
        return ShrinkWrap.create(JavaArchive.class)
                .addClass(XXXX.class)
                .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml");
    }


    @Test
    public void testStart() {
        System.out.print("gamma");
        assert true;
    }

如您所见,我什至没有在其中注入(inject)一个 bean。我无法在 weld-ee 容器中运行基本的 arquillian 测试。

我在运行时遇到的错误

gradle clean test

<failure message="java.lang.NoSuchMethodError: org.junit.runners.model.TestClass.getAnnotatedFields()Ljava/util/List;" type="java.lang.NoSuchMethodError">java.lang.NoSuchMethodError: 

是否缺少任何依赖项? 如 tutorial 中所述, 我有所有需要的依赖项

  1. Arquillian JUnit 集成
  2. 目标容器的 Arquillian 容器适配器
  3. 容器运行时(用于嵌入式容器)

提前致谢

最佳答案

java.lang.NoSuchMethodError: org.junit.runners.model.TestClass.getAnnotatedFields()Ljava/util/List;

testCompile group: 'junit', name: 'junit', version: '4.11'


方法List<FrameworkField> TestClass.getAnnotatedFields JUnit 4 中确实存在,但带有 no arguments 的特定版本Arquillian 正在寻找的那个只是在 JUnit 4.12 中添加的。

关于testing - 运行集成测试时出现 java.lang.NoSuchMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50464053/

相关文章:

jsf - 从 session 中删除特定的 CDI 托管 bean

java - 具有参数化 bean 类的托管 bean 必须是 @Dependent : class org. apache.cxf.jaxrs.provider.AbstractCachingMessageProvider

ios - 在Bitbar真机上安装ios-webkit-debug-proxy

testing - 关于如何成为一名优秀的软件(网站)测试员的问题

java - 多个具有包名称的库

android - 我如何知道android gradle插件的applicationVariants中的属性?

java - 如何将构造函数注入(inject) CDI 与 JNDI 资源结合使用?

c# - 如何在 Ranorex Studio 中更新 C# 版本?

testing - 测试驱动包 practicalmeteor :mocha missing `runTests` export

android-studio - 命令行Gradle的UseSplitVerifier参数