我有一个使用 appContext.xml 来定义 bean 的 grails 应用程序。当我运行应用程序时,一切正常。但是,当我尝试使用 @ContextConfiguration 运行单元测试时,所有自动连接的 bean 都为空。
如何通过 @autowired 对加载 bean 进行单元测试。
谢谢克里斯 G
我有一个使用 appContext.xml 来定义 bean 的 grails 应用程序。当我运行应用程序时,一切正常。但是,当我尝试使用 @ContextConfiguration 运行单元测试时,所有自动连接的 bean 都为空。
如何通过 @autowired 对加载 bean 进行单元测试。
谢谢克里斯 G
在单元测试的底层并没有发生太多事情——它们非常轻量级。有一个小的 ApplicationContext 但它只有一些模拟的 bean,但没有来自插件、您的应用程序等。使用集成测试来拥有一个适当的 Spring 环境。
假设您的 appContext 文件位于grailsApp/Conf/Spring文件夹中的示例方法之一
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = ["classpath:spring/appContext.xml.xml" ])
class SampleTest {
@Autowired
@Qualifier("userDao")
UserDao userDao;
}