gpt4 book ai didi

spring - 如何将 ScalaTest 与 Spring 集成

转载 作者:IT老高 更新时间:2023-10-28 13:55:56 25 4
gpt4 key购买 nike

我需要使用 Spring 上下文中的 @Autowired 字段填充我的 ScalaTest 测试,但大多数 Scalatest 测试(例如 FeatureSpec 无法由 SpringJUnit4ClassRunner.class -

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations="myPackage.UnitTestSpringConfiguration", loader=AnnotationConfigContextLoader.class)
public class AdminLoginTest {
@Autowired private WebApplication app;
@Autowired private SiteDAO siteDAO;

(Java,但你明白了要点)。

如何从 ApplicationContext 为 ScalaTest 填充 @Autowired 字段?

class AdminLoginFeatureTest extends FeatureSpec with GivenWhenThen with ShouldMatchersForJUnit {

@Autowired val app: WebApplication = null
@Autowired val siteDAO: SiteDAO = null

feature("Admin Login") {
scenario("Correct username and password") {...}

最佳答案

使用 TestContextManager,因为它会缓存上下文,因此不会在每次测试时都重新构建它们。它是通过类注解配置的。

@ContextConfiguration(
locations = Array("myPackage.UnitTestSpringConfiguration"),
loader = classOf[AnnotationConfigContextLoader])
class AdminLoginFeatureTest extends FeatureSpec with GivenWhenThen with ShouldMatchers {

@Autowired val app: WebApplication = null
@Autowired val siteDAO: SiteDAO = null
new TestContextManager(this.getClass()).prepareTestInstance(this)

feature("Admin Login") {
scenario("Correct username and password") {...}
}
}

关于spring - 如何将 ScalaTest 与 Spring 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6282471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com