Estoy tratando de usar MSTest para escribir pruebas unitarias para métodos en mi MainWindow
clase en mi aplicación WPF. Sin embargo, me sale la siguiente excepción:
System.Windows.Markup.XamlParseException: "Proporcionar valor en" System.Windows.StaticResourceExtension "lanzó una excepción". Número de línea "127" y posición de línea "32". ---> System.Exception: No se puede encontrar el recurso llamado "verticalLineStyle". Los nombres de los recursos distinguen entre mayúsculas y minúsculas.
verticalLineStyle
se encuentra en un ResourceDictionary
que se incluye en App.xaml
. No necesito este estilo para probar el método que estoy tratando de probar, pero no puedo superar esto. Estoy creando una nueva instancia de MainWindow
en mi prueba de unidad y tratando de llamar a un método de instancia en eso. La excepción se produce cuando intento crear la instancia de MainWindow
. MainWindow
Se define como public partial class MainWindow : Window
.
¿Cómo me deshago de este error? ¿Hay alguna forma preferida de métodos de prueba unitaria en Windows en aplicaciones WPF?
Respuestas
4 para la respuesta № 1Application.LoadComponent(
new Uri("/MyAppAssemblyName;component/App.xaml", UriKind.Relative));
Esto me ayudó.
0 para la respuesta № 2
El problema es que la prueba no tiene acceso a App.xaml ya que la aplicación no se inicia. Es posible que desee buscar en TestApi cualquier cosa relacionada con la prueba de efectos visuales de WPF (enlazar)
¡Espero que esto ayude!