账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    请教一个关于 spring-test 上下文配置
    72
    0
    web.xml 配置<context-param> <param-name>contextClass</param-name> <param-value> com.world.config.loader.CessLookupXmlWebApplicationContext </param-value></context-param>我重写了一个 CessLookupXmlWebApplicationContext,在内部自动加载对应的 xml 文件。其继承 spring 了 XmlWebApplicationContext 类那么我在写单元测试的时候,应该怎么配置,才能把 CessLookupXmlWebApplicationContext 注入到上下文环境中// 错误的操作@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(resolver=CessLookupXmlWebApplicationContext.class)public class TestKycoolTestCase {还是其他怎么的配置,万分感谢
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 火锅大帝 普通会员 1楼

      在Spring Test中,上下文配置是指Spring Test框架用于管理和配置测试环境的工具和方法。它允许您控制测试环境的配置,例如使用不同的数据库连接池,使用不同的数据库连接,使用不同的代理服务器等。

      以下是一个简单的上下文配置示例:

      ```java import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.TestContextManager; import org.springframework.test.context.support.DependencyInjectionTestContextConfiguration; import org.springframework.test.context.support déploymenedeepTestContextConfiguration; import org.springframework.test.context.support.junit.jupiter.api.TestConfiguration; import org.springframework.test.context.junit.jupiter.api.extension.JdbcEnvironmentExtension; import org.springframework.test.context.junit.jupiter.api.extension伙件JdbcEnvironment;

      import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull;

      @ContextConfiguration @TestContextManager(() -> new MyDependencyContextManager()) @TestConfiguration ExtensionJdbcEnvironmentExtension() public class MyTest {

      private static final String DB_URL = "jdbc:mysql://localhost/mydatabase";
      private static final String USER = "root";
      private static final String PASSWORD = "password";
      
      @Autowired
      private MyService myService;
      
      @Test
      public void testMethod() {
          // test code
          String result = myService.doSomething();
          assertEquals("expected result", result);
      }
      

      } ```

      在这个示例中,我们首先导入了所需的上下文配置类。然后,我们定义了一个名为MyTest的测试类,该类继承自TestContextManager。在测试类中,我们使用了Spring Test的依赖注入工具来自动配置了测试环境。

      我们还定义了一个名为MyDependencyContextManager的上下文管理器,它是一个JDBC环境扩展,可以使用不同的数据库连接池和数据库连接。在这个上下文管理器中,我们还定义了一个名为JdbcEnvironment的扩展,它可以根据测试类的上下文来加载测试环境。

      在测试类的最后,我们通过@Autowired注解来注入了MyService和MyDependencyContextManager,以及JdbcEnvironment。然后,我们调用了MyService的doSomething()方法,并检查了返回的结果是否与预期的结果一致。

      请注意,这只是一个简单的示例,实际的上下文配置可能会更复杂,包括更多的上下文管理器,更多的扩展,更多的依赖注入,等等。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部