关于 JUnit 的每个教程都建议使用与此完全相同的代码。在 src
目录中的类中代码可以工作,但是当我尝试在测试类中编写它时,它存在兼容性问题。
这些目录之间有什么区别?如何解决这个问题?
**Error:(20, 29) java: incompatible types: java.util.List<"java.lang.Object> cannot be converted to java.lang.Iterable <"java.lang.Object[]>
@Parameterized.Parameters
public static Iterable<Object[]> testData(){
return Arrays.asList(new Object[][] {
{2, BigDecimal.valueOf(123.456), BigDecimal.valueOf(123.45)},
{0, BigDecimal.valueOf(123.456), BigDecimal.valueOf(123)},
{1, BigDecimal.valueOf(123.4), BigDecimal.valueOf(123.4)}
});
}
这是pom.xml 这里以及 JUnit 和应用程序的配置中的 Java 版本都是 11
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.7.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>11</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
最佳答案
没关系,这就是问题所在: 导入 org.assertj.core.util.Arrays;
关于java - test 和 src 目录/代码之间的差异在 test 文件夹中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58549309/