我想不通..出于某种原因,Spring Junit没有将我的bean添加到上下文中。请砰!!
由:org.springframework.beans.factory.nosuchBeanDefinitionException引起:没有类型为“com.api.demo.store.FileStorage”的合格bean可用:需要至少有1个bean作为autowire候选bean。依赖项注释:{@org.springframework.beans.factory.annotation.autowire(required=true),@org.springframework.beans.factory.annotation.qualifier(value=com.api.demo.store.fileStorageMDB)}org.springframework.beans.factory.support.defaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1066)在org.springframework.beans.factory.annotation.autowiredNotationBeanPostProcessor$autowiredFieldElement.inject(AutowiredNotationBeanPostProcessor.java:585)...28更多
@RunWith(SpringRunner.class)
@SpringBootTest
public class FileStorageMemDBTest {
@Autowired
private TestEntityManager entityManager;
@Autowired
private FileStorage fileStorage;
@Autowired private ApplicationContext ctx;
@Test
public void testRetrieveAll() {
FileInfo fileInfo = new FileInfo("fileOne", "GoodFile.txt", "test");
entityManager.persist(fileInfo);
fileStorage.retrieveAllFiles();
}
}
@Service
public interface FileStorage {
/**
* Stores file in an underlying file store
*
* @param File to store
* @param FileInfo file submission metadata
*/
public void store(MultipartFile mFile, FileInfo info) throws IOException;
/**
* Retrieves a list of all file
*
* @return array containing file metadata
*/
public List<FileInfo> retrieveAllFiles();
/**
* Retrieve file metadata by id
*
* @return file metadata if found
* @Param id of a file to retrieve
*/
public FileInfo retrieveFileMetadata(Long id);
}
/**
* Database implementation of FileStorage interface
*
*/
@Transactional
@Service
public class FileStorageMemDB implements FileStorage {
@PersistenceContext
private EntityManager entityManager;
@Override
public void store(MultipartFile incomingFile, FileInfo info) throws IOException {
......
entityManager.persist(info);
}
@Override
public List<FileInfo> retrieveAllFiles() {
return entityManager.createNamedQuery("query_find_all_records", FileInfo.class).getResultList();
}
@Override
public FileInfo retrieveFileMetadata(Long id) {
return entityManager.find(FileInfo.class, id);
}
}
谢谢瓦伦,
@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
public class FileStorageMemDBTest
{...}
做到了。!!
我有需要测试的REST服务。该服务具有Spring Security身份验证,我需要在测试或模拟中关闭它。我决定嘲笑它,因为我不能关掉它。我为此编写了,但现在未加载上下文: 在我的主要源代码中,我有一些config类加载了一些其他bean,而it类在我的测试中没有加载,我有一个例外: 我做错了什么?有人能帮我吗?我使用了,但在该版本中,无法工作,因为属性不再存在。
问题内容: 我有一个Spring bean(dao)对象,该对象通过以下xml在ServletContext中实例化: 该bean在我的webapp-servlet.xml文件中声明,并由我的应用程序在ServletContext中使用。 我也在使用SpringSecurity。据我了解,这在不同的上下文(SecurityContext)中运行。 我的应用程序具有webapp-security.x
我是MongoDB的新手,正在建立一个新的应用程序。NETC#MVC项目来尝试一下。 使用当前的MongoDB。nuget的驱动程序2.2.2。 问题:我有一个单元测试成功,但不保存任何数据到MongoDB集合。 但是,如果我将相同的测试放在MVC控制器下,它将保存数据: 我很好奇为什么会这样? 以下是MongoDatabase类:
我使用Spock框架来运行我的测试。每个测试类上都有Spring的注释。正如我所看到的,每个测试类都需要上下文,在不同的类中运行几十个测试需要很多时间。是否有一种方法可以配置Spock测试类以在公共spring上下文下运行?
嗨,我有一个Spring Boot(2.1.6发行版)应用程序,我正在尝试添加一些简单的集成测试到我的应用程序。首先,我创建了一个基础IntegrationTest类,如下所示: 这是我的测试方法: 有什么建议吗?
今天,我将我的项目从Spring Boot1.5.9更新到2.1.1,我的一些测试停止工作。当我开始测试时,控制台会弹出错误: com.example.rest.config.SecurityConfig中的authEntryPoint字段需要一个类型为“com.example.rest.service.auth.EntryPoints.AuthenticationEntryPoint”的bean