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 № 1Application.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!