/ / WPF - XamlParseException quando o método de teste de unidade na classe Window - c #, wpf, teste de unidade, mstest, xamlparseexception

WPF - XamlParseException quando o método de teste de unidade na classe Window - c #, wpf, teste de unidade, mstest, xamlparseexception

Eu estou tentando usar MSTest para escrever testes de unidade para métodos no meu MainWindow classe no meu aplicativo WPF. No entanto, recebo a seguinte exceção:

System.Windows.Markup.XamlParseException: "Fornecer valor em" System.Windows.StaticResourceExtension "lançou uma exceção." Número da linha "127" e posição da linha "32". ---> System.Exception: Não é possível encontrar o recurso chamado "verticalLineStyle". Nomes de recursos diferenciam maiúsculas de minúsculas.

verticalLineStyle é encontrado em um ResourceDictionary que está incluído no App.xaml. Eu não preciso deste estilo para testar o método que estou tentando testar, mas eu não posso passar por isso. Eu estou apenas criando uma nova instância de MainWindow no meu teste de unidade e tentando chamar um método de instância sobre isso. A exceção ocorre quando tento criar a instância de MainWindow. MainWindow é definido como public partial class MainWindow : Window.

Como me livrar desse erro? Existe alguma maneira preferida de métodos de teste de unidade no Windows em aplicativos WPF?

Respostas:

4 para resposta № 1
Application.LoadComponent(
new Uri("/MyAppAssemblyName;component/App.xaml", UriKind.Relative));

Isso me ajudou.


0 para resposta № 2

O problema é que o teste não tem acesso ao App.xaml, pois o aplicativo não foi iniciado. Você pode querer olhar para TestApi para qualquer coisa relacionada ao teste de visuais do WPF (ligação)

Espero que isto ajude!