我试图测试一个@Controller类,其中有来自POJO的列表。我可以在另一个@RESTController类中使用@Autowired来连接控制器,但在同样的情况下,我不能将其用于测试。
user.java
@Data //from lombok
public class User {
private String Id;
private String email;
//constructor + getters and setters
}
UserContrell3.java
@Controller
public class UserController {
private List<User> userRepo = new ArrayList<>();
public UserController() {}
public List<User> readAll() {
return userRepo;
}
public void add(User user) {
userRepo.add(user);
}
}
在下一个类中,userresource.java我可以做@autowired
@RestController
@RequestMapping(UserResource.USER)
public class UserResource {
public static final String USER = "/users";
private UserController userController;
@Autowired
public UserResource(UserController userController) {
this.userController = userController;
}
@GetMapping
public List<User> readAll() {
return userController.readAll();
}
@PostMapping
public void addUser(@RequestBody User user) {
userController.add(user);
}
}
但是,在测试类UserTest.java中。我不能:
@SpringBootTest(classes = {cat.jhz.Main.MainApp.class})
@TestPropertySource("classpath:test.properties")
public class UserTest {
// @Autowired **//NOT HERE** --> ERROR
private UserController userRepo;
@Autowired **//AND NOT HERE** --> ERROR
public UserResource(UserController userController) {
this.userController = userController;
}
@Test
void testAddUserToUserController() {
...
}
}
提前感谢!
简单但不太好-向UserTest类添加注释@ComponentScan
我正在使用autowiring(@Autowired)在JUnit测试类中注入依赖项,并面临NullPointerException。我想知道在JUnit测试类中是否可以进行自动布线。否则,应该如何在测试类中注入bean。我的代码如下- 主类/客户端-自动布线按预期工作。 服务接口和实现类接口IMessage 服务台:欢迎光临服务台 服务SayHelloService 主服务调用其他服务。自动装配
我想问一下你的知识。一个Spring启动应用程序包含各种映射器。这些应该进行测试。要测试映射器,应该读取一个JSON文件。这个JSON文件加载在每个测试文件中。到目前为止,该功能已在每个测试类中实现,我想将功能外包给一个助手类。我尝试如下: 在测试类中,我调用助手如下: 很遗憾,我收到以下错误消息: 组织。springframework。豆。工厂UnsatifiedDependencyExcept
在我的Spring Boot应用程序中,我尝试实现模板方法,在我的具体类中,我尝试使用泛型,如下所示: 模板界面:不确定我是否需要使用它? 模板抽象类: 混凝土等级: 我在dto中得到“无法解析‘T’中的方法‘getName’”。getName()行输入AbstractPDFGenerator。 我的问题是: 1.为了解决这个问题,我想从继承和的基类扩展T。但是,我不想从基类继承它们,因为它们没有
我在React中测试ES6语法,并编写如下组件:
我试图创建Espresso测试,并使用,问题是当我试图创建时,它调用真正的api调用,我希望截获它并模拟响应。 然后我创建了这个TestApp 这是我的TestAppComponent 注意:这里我创建了一个新模块,名为,其中BASE_URL为“http://localhost:8080”,我不知道是否需要其他模块。 因为它说它没有初始化。 我的mockWebServer甚至没有分发响应--尽管它
我正在为服务开发测试用例。 另一个代码: