[英]Unable to run unit tests with Snakeyaml in IntelliJ
我创建了一个Java组件,该组件使用SnakeYaml读取YAML文件。 我使用的环境是带有Maven插件的IntelliJ,而我的项目是使用Maven pom文件构建的。 当我运行Maven测试项目时,我的单元测试全部通过。 但是,当我直接在IntelliJ中运行单元测试时,它们将失败。
具体来说,下面的调用new Yaml(myConstructor)引发异常:
Constructor myConstructor = new Constructor(....)
Yaml yaml = new Yaml(myConstructor)
具体的例外是:
java.lang.NoSuchMethodError:org.yaml.snakeyaml.Yaml。(Lorg / yaml / snakeyaml / constructor / BaseConstructor;)V
有任何想法吗?
这是由于TestNG插件引起的。 对于IntelliJ和Eclipse来说都是一个问题。
可以通过两种方式轻松解决:
第二种方法是首选的,因为TestNG依赖项将由您的构建工具管理(您是否正在使用构建工具,对吗?!),并且您具有更大的灵活性。
下面为我工作
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.2</version>
<type>jar</type>
<exclusions>
<exclusion>
<artifactId>snakeyaml</artifactId>
<groupId>org.yaml</groupId>
</exclusion>
</exclusions>
</dependency>
看一下file -> proj structure -> artifact
s。 可能有错误。 只需单击“修复”按钮。 还可以尝试从Maven配置重新创建itellij项目。 通常,库范围会遇到麻烦,例如TEST/PROVIDED
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.