mercredi 24 février 2010 08:23
JeremyJeanson
[WF4] Debug et tests, c’est possible?
Certaine personnes pensent que le fait d’utiliser un Designer empêche le débogage. N’en déplaise à certain, cette idée est fausse. Dans WF4 (comme dans WF3) il est possible d’introduire un point d’arrêt via le designer.
Par contre les options sont très limitées (pas de règles sur un Breakpoint). Il n’est possible que de supprimer un Breakpoint ou de le désactiver.
Rien ne vous interdit par contre de mettre des point d’arrêt dans votre code WF (activité custom , etc...).
Pour les tests unitaires, pas de soucis non plus. Si vous souhaitez tester un Workflow seul, le WorkflowInvoker serra votre ami ;)
Par exemple : Un méthode destinée à fournir un activité à partir d’un expression Vb :
Vb
Private Function GetActivity(ByVal expressionVb As String) As Activity(Of Boolean)
Dim activity As new VisualBasicValue(Of Boolean)(expressionVb)
return activity
End Function
C#
private Activity<Boolean> GetActivity(String expressionVb)
{
VisualBasicValue<Boolean> activity = new VisualBasicValue<Boolean>(expressionVb);
return activity;
}
On pourra créer un test comme celui-ci :
C#
/// <summary>
///A test for GetActivity
///</summary>
[TestMethod()]
[DeploymentItem("WorkflowConsoleApplication1.exe")]
public void GetActivityTest()
{
string expressionVb = "True";
Boolean expected = true;
Boolean actual;
actual = WorkflowInvoker.Invoke(Program_Accessor.GetActivity(expressionVb));
Assert.AreEqual(expected, actual);
Assert.Inconclusive("Verify the correctness of this test method.");
}
En plus, on assiste au petit miracle des tests via Visual Studio : Vos références à WF4 sont déjà incluses dans le projet de test ;)
Elle est pas belle la vie?
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :