junit java.de sécurité.NoSuchAlgorithmException: Impossible de trouver un fournisseur de soutien

Je suis en utilisant JUnit 4 [C:\eclipse\plugins\org.junit_4.11.0.v201303080030\junit.jar] en combinaison avec Eclipse (MARS, Version: Mars l'Étape 3 (4.5.0M3) Build id: 20141113-0320.

J'ai quelques tests test d'une classe simple et qui fonctionne bien. Mais maintenant arrivé au point où je voulais tester mes cryptage de classe, qui met en œuvre la suite de chiffrer fonction:

public String encrypt(String data) {

    try {

        SecretKeySpec KS = new SecretKeySpec(mKeyData, "Blowfish");

        Cipher cipher = Cipher.getInstance("Blowfish/CBC/ZeroBytePadding"); //PKCS5Padding
        cipher.init(Cipher.ENCRYPT_MODE, KS, new IvParameterSpec(mIv));
        return bytesToHex(cipher.doFinal(data.getBytes()));       

    } catch (InvalidKeyException e) {
        e.printStackTrace();
    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
    } catch (NoSuchPaddingException e) {
        e.printStackTrace();
    } catch (IllegalBlockSizeException e) {
        e.printStackTrace();
    } catch (BadPaddingException e) {
        e.printStackTrace();
    } catch (InvalidAlgorithmParameterException e) {
        e.printStackTrace();
    }
    return null;
}

La Crypto classe n'est pas sous-classés...

public class Crypto {

Afin de tester cette Classe et plus de la fonction de crypter j'ai conçu l'appareil de test:

package my.junit4.example;

import static org.junit.Assert.*;

import org.junit.Test;

public class CryptoTest {

    @Test
    public void testEncryption() {

        Crypto myCrypto = new Crypto();

        String encodedString = myCrypto.encrypt("Secret");

        assertTrue("The decrypted encrypted word should deliver the original string", encodedString.equals(myCrypto.decrypt(encodedString)));
    }
}

Ce test est un échec, avec une trace de la pile:

java.security.NoSuchAlgorithmException: Cannot find any provider supporting Blowfish/CBC/ZeroBytePaddingnull
at javax.crypto.Cipher.getInstance(Cipher.java:535)     at
my.junit.example.encrypt(Crypto.java:35)    at
my.junit.example.CryptoTest.testEncrypt(CryptoTest.java:14)     at

Cela n'a pas beaucoup de sens pour moi. Mais étant relativement nouveau à JUnit je soupçonne que le problème est à moi de ne pas comprendre la manière de formuler ces tests. Le code de cryptage - décryptage dans mon débogueur est de me donner le résultat souhaité. Mais comment puis-je obtenir que cela fonctionne avec JUnit. Quelle erreur évidente que j'ai fait?