我有一个非常基本的简单配置如下
--- 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 中所述, 我有所有需要的依赖项
- Arquillian JUnit 集成
- 目标容器的 Arquillian 容器适配器
- 容器运行时(用于嵌入式容器)
提前致谢
最佳答案
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/