TestNG + Spring統合の例

TestNG + Spring統合の例

このチュートリアルでは、TestNGを使用してSpringのコンポーネントをテストする方法を示します。

使用ツール:

  1. TestNG 6.8.7

  2. Spring 3.2.2.RELEASE

  3. メーベン3

  4. Eclipse IDE

1. プロジェクトの依存関係

SpringをTestNGと統合するには、spring-test.jarが必要です。以下を追加してください。

pom.xml

    
        3.2.2.RELEASE
        6.8.7
    

    
        
            org.springframework
            spring-core
            ${spring.version}
        

        
            org.springframework
            spring-test
            ${spring.version}
        

        
            org.testng
            testng
            ${testng.version}
            test
        
    

2. スプリングコンポーネント

単純なSpringコンポーネントを作成します。後で、このコンポーネントをTestNGでテストします。

EmailGenerator.java

package com.example.testng.project.service.email;

public interface EmailGenerator {

    String generate();

}

RandomEmailGenerator.java

package com.example.testng.project.service.email;

import org.springframework.stereotype.Service;

@Service
public class RandomEmailGenerator implements EmailGenerator {

    @Override
    public String generate() {
        return "[email protected]";
    }

}

3. TestNG + Spring

Springコンポーネントのスキャン用に、テストフォルダーにSpring構成ファイルを作成します。

${project}/src/test/resources/spring-test-config.xml



    

TestNGのSpringコンポーネントにアクセスするには、AbstractTestNGSpringContextTestsを拡張します。次の例を参照してください。

${project}/src/test/java/com/example/testng/examples/spring/TestSpring.java

package com.example.testng.examples.spring;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.testng.AbstractTestNGSpringContextTests;
import org.testng.Assert;
import org.testng.annotations.Test;
import com.example.testng.project.service.email.EmailGenerator;

@Test
@ContextConfiguration(locations = { "classpath:spring-test-config.xml" })
public class TestSpring extends AbstractTestNGSpringContextTests {

    @Autowired
    EmailGenerator emailGenerator;

    @Test()
    void testEmailGenerator() {

        String email = emailGenerator.generate();
        System.out.println(email);

        Assert.assertNotNull(email);
        Assert.assertEquals(email, "[email protected]");


    }

}

出力

[email protected]
PASSED: testEmailGenerator

===============================================
    Default test
    Tests run: 1, Failures: 0, Skips: 0
===============================================

ソースコードをダウンロード

ダウンロード–TestNG-Spring-Example.zip(35 KB)