相关测试依赖如下:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>2.7.18</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.8.2</version>
<scope>test</scope>
</dependency>
示例代码
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.mongodb.core.MongoTemplate;
@SpringBootTest
public class MongoDbTest {
@Autowired
MongoTemplate mongoTemplate;
/**
* 测试连接
*/
@Test
public void testMongoTempLateUse(){
// 向集合中插入文档 无集合先创建集合
mongoTemplate.insert(new Person("Joe", 34));
// 查询
System.out.println(mongoTemplate.query(Person.class).matching(where("name").is("Joe")).firstValue());
}
}
Test运行出现报错
org.junit.platform.commons.JUnitException: TestEngine with ID 'junit-jupiter failed to discover tests
…
解决
顺着异常信息往下看,发现由于idea的rt.jar引起。又因为这个是新环境。立刻推出idea的编码与maven编码没有指定JDK8!idea的项目,maven指定编译级别即解决。
- idea 编译级别指定
- maven 编译级别指定
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>