7
votes

PowerMock ne fonctionnera pas avec Jaxb Memarshal

Je crée un cas de test dans lequel, j'entraîne XML et lamairez-la à la mise au point avec le traitement. J'essaie d'utiliser PowerMock et je continue à obtenir

JAXBContext jaxbContext = JAXBContext.newInstance(NotifRQ.class);
        Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
        NotifRQ notifRQ= (NotifRQ) unmarshaller.unmarshal(new File("filename"));


2 commentaires

Avez-vous sorti cela, car je reçois la même erreur. Cela arrive quand j'essaie d'utiliser PowerMock. Sans le pouvoir, cela fonctionne bien.


Non, je n'ai pas encore compris cela. J'ai commuté ma framework Junit à JMockit. Sa puissante et simple à utiliser.


3 Réponses :


10
votes

Je suis en train d'encouvrer le même problème à propos de PowerMock Échec de l'échec JAXB MOXB Données XML des ressources de test.

J'ai trouvé cette solution pour fonctionner: il suffit d'ajouter cette ligne ci-dessous @Runwith (PowerMockRunner.class) Code>: P>

@PowerMockIgnore({ "javax.xml.*", "org.xml.sax.*" })


1 commentaires

Super - je devais avoir __redirecté .__ SaxparserFactory ne peut pas être jeté à Javax.xml.Parsers.SaxparserFactory, qui est la JBoss Lib et a également travaillé à résoudre ce problème.



2
votes
    @RunWith(PowerMockRunner.class)
    @PrepareForTest(Transport.class)
    @PowerMockIgnore({ "javax.xml.*", "org.xml.sax.*" })
    public class AggregateMojoTest {
Great, it fixed my problem !

1 commentaires

Expliquez comment votre code résout le problème de l'Asker, s'il vous plaît



2
votes

J'ai corrigé le problème de la même manière en utilisant @powermockignore, mais j'ai également besoin d'ajouter un autre format à ignorer:

@powermockignore ({ "Javax.xml. ", "org.xml. ", "org.w3c. *"})


0 commentaires