[春]フレームワーク統合JUnitのテストユニット

JUnitテストの新しいアイデア

以前に使用されたネイティブのJUnitテストを見てみましょう。私たちはすでにそれをよく知っています。

@Test
// 测试数据源连接
public void test1() throws Exception {
    
    
    ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
    ComboPooledDataSource dataSource  = (ComboPooledDataSource) app.getBean("dataSource");
    Connection connection = dataSource.getConnection();
    System.out.println(connection);
    connection.close();
}

@Test
// 测试userService对象
public void test2() throws Exception {
    
    
	ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
    UserService userService = (UserService) app.getBean("userService");
    System.out.println(userService);
}

このデザインはそれほど完璧ではないようです。

newアプリコンテナは毎回取り出す必要があります

②再利用しgetBeanてテスト対象物取得する
 
ため、より美しいデザインを考えています。アノテーションを通じて、テストしたいBeanオブジェクトをテストクラスに直接注入します。

 
 
 

Springに統合されたJUnit実装のアイデア

❶JUnit座標をインポートする

@ RunWithを使用て、このクラスがSpringテスト環境で実行されていること示します

@ ContextConfigurationを使用して、構成ファイル/構成クラス指定します

❹@ Autowiredを使用して、テストするオブジェクト挿入します

❺使用@Testはテストに、一般的にオブジェクトを印刷します

 
 
 

コードデモ

❶JUnit座標をインポートする

<!-- 注意:如果spring是5版本及以上,junit版本必须是4.12及以上 -->
<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-test</artifactId>
		<version>5.0.5.RELEASE</version>
</dependency>
<dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
</dependency>

❷❸❹❺テストコードの設計

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")		// 如果是配置文件
@ContextConfiguration(classes = {
    
    SpringConfiguration.class})		// 如果是配置类
public class SpringJunitTest {
    
    

    @Autowired
    private UserService userService;

    @Autowired
    private DataSource dataSource;

    @Test
    public void test() {
    
    
        System.out.println(userService);
        System.out.println(dataSource);
    }

}

 
 
 
 

 
 
 
 

 
 
 
 

もっと> _ <

おすすめ

転載: blog.csdn.net/m0_46202073/article/details/113872500