使用spring 及其测试实用程序,我想创建一个切片测试来检查我的模型的序列化。
有我正在使用的依赖项:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>2.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.4</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
使用以下测试类,我无法自动装配我的 JacksonTester 并收到 NoSuchBeanDefinitionException 异常:
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.json.JsonTest;
import org.springframework.boot.test.json.JacksonTester;
import org.springframework.boot.test.json.JsonContent;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@JsonTest
public class MyTest
{
@Autowired
private JacksonTester<MyClass> tester;
@Test
public void myTest()
{
// test logic
}
}
Run Code Online (Sandbox Code Playgroud)
和跟踪:
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ …Run Code Online (Sandbox Code Playgroud)