Exemple d’intégration Printemps TestNG

Exemple d'intégration TestNG + Spring

Dans ce didacticiel, nous vous montrerons comment tester les composants de Spring avec TestNG.

Les outils utilisés :

  1. TestNG 6.8.7

  2. Spring 3.2.2.RELEASE

  3. Maven 3

  4. Eclipse IDE

1. Dépendances du projet

Pour intégrer Spring à TestNG, vous avez besoin despring-test.jar, ajoutez ce qui suit:

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. Composant de ressort

Créez un composant Spring simple, plus tard nous testerons ce composant avec 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

Créez un fichier de configuration Spring dans le dossier de test, pour l'analyse des composants Spring.

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



    

Pour accéder aux composants Spring dans TestNG, étendAbstractTestNGSpringContextTests, voir l'exemple suivant:

${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]");


    }

}

Sortie

[email protected]
PASSED: testEmailGenerator

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

Télécharger le code source

Téléchargez-le -TestNG-Spring-Example.zip (35 Ko)