Estoy usando un comportamiento adjunto para agregar funcionalidad de arrastrar y soltar a mi código. Hasta ahora, todo está funcionando bien, pero mi problema es cuando quiero probar mis clases de comportamiento.wpf behavior unit test
Por ejemplo, una de las clases de comportamiento sería algo como lo siguiente:
public class DroppableContainerBehavior: Behavior<FrameworkElement>
{
protected override void OnAttached()
{
base.OnAttached();
AssociatedObject.AllowDrop = true;
AssociatedObject.Drop += new DragEventHandler(AssociatedObject_Drop);
AssociatedObject.DragOver += new DragEventHandler(AssociatedObject_DragOver);
AssociatedObject.DragLeave += new DragEventHandler(AssociatedObject_DragLeave);
}
private void AssociatedObject_Drop(object sender, DragEventArgs e)
{
...
}
}
Mi problema ahora es cuando quiero crear una prueba unitaria para el método AssociatedObject_Drop, necesitaría crear un DragEventArgs objeto, pero esta clase está sellada.
me dio la impresión de que estoy haciendo algo mal .. Mi pregunta es: ¿Debo estar probando mis clases de comportamiento? Los comportamientos están relacionados con la IU, y generalmente no vale la pena probar la IU. Estoy en lo correcto? ¿Tal vez tengo que cambiar el código de mi conducta para que sea más comprobable? ¿algunas ideas?
Gracias por su ayuda!
y ¿sabes cómo podría crear un objeto, incluso su clase está sellada? –
Una clase sellada no se puede heredar pero puede crear una instancia de esta clase. vea http://msdn.microsoft.com/en-us/library/88c54tsw%28v=vs.71%29.aspx – Arseny
um, lamento el problema cuando se hace DragEventArgs() no está sellado. No puedo instanciarlo porque el constructor es interno. –