Tester les exceptions d'une méthode avec EasyMock

Je suis novice pour les tests unitaires. Je suis à l'aide de TestNG avec MyEclipse à élaborer des scénarios de test unitaire pour mon application. Tout en le faisant, je suis confronté à quelques problèmes avec EasyMock. Voici mon code (Nom de la classe, la méthode des noms et des types de retour sont changés pour des raisons de sécurité, mais vous aurez une idée claire de ce que je suis en train de réaliser ici).

    public MyClass
    {
       //This is a method in my class which calls a collaborator which I
       //want to mock in my test case
       public SomeObject findSomething(SomeOtherObject param) throws Exception
       {
          SomeOtherObject param a = myCollaborator.doSomething(param);
          //Do something with the object and then return it 
          return a;
       }
    }

Maintenant, voici mon test. Maintenant ce que je veux atteindre dans mon test
cas, c'est que je veux vérifier que ma fonction (findSomething) correctement
throws exception dans le cas où une exception est levée. Dans le futur, certains
autre développeur peut modifier la signature (throws Exception n'est-ce pas
vraiment partie de la signature de la méthode) de la méthode et de supprimer les lancers
Exception de ma méthode. Alors, comment puis-je m'assurer que personne ne les modifications
c'?

@Test(dataProvider="mydataProvider", expectedExceptions=Exception.class)
public void MyTest(SomeOtherObject param) throws Exception {
{
  EasyMock.expect(myCollaboratorMock.doSomething(param)).andThrow(new Exception());
  EasyMock.replay(myCollaboratorMock);
}

Je suis arriver exception

"de java.lang.IllegalArgumentException: dernier
méthode appelée sur la maquette ne peut pas lancer java.lang.Exception"

Ce que je suis
fais de mal ici? Quelqu'un peut jeter une certaine lumière sur la façon d'écrire un essai
cas pour mon scénario particulier?

source d'informationauteur Sam ツ