WPF - XamlParseException при методе модульного тестирования в классе Window - PullRequest
2 голосов
/ 30 сентября 2010

Я пытаюсь использовать MSTest для написания модульных тестов для методов в моем классе MainWindow в моем приложении WPF.Однако я получаю следующее исключение:

System.Windows.Markup.XamlParseException: «Предоставить значение для« System.Windows.StaticResourceExtension », вызвало исключение»Номер строки «127» и позиция строки «32».---> System.Exception: Невозможно найти ресурс с именем 'verticalLineStyle'.Имена ресурсов чувствительны к регистру.

verticalLineStyle находится в ResourceDictionary, включенном в App.xaml.Мне не нужен этот стиль для тестирования метода, который я пытаюсь протестировать, но я не могу пройти через это.Я просто создаю новый экземпляр MainWindow в своем модульном тесте и пытаюсь вызвать метод экземпляра для этого.Исключение возникает, когда я пытаюсь создать экземпляр MainWindow.MainWindow определяется как public partial class MainWindow : Window.

Как мне избавиться от этой ошибки?Есть ли какой-нибудь предпочтительный способ модульного тестирования в Windows в приложениях WPF?

Ответы [ 2 ]

4 голосов
/ 26 февраля 2015
Application.LoadComponent(
    new Uri("/MyAppAssemblyName;component/App.xaml", UriKind.Relative));

Это помогло мне.

0 голосов
/ 30 сентября 2010

Проблема в том, что у теста нет доступа к App.xaml, так как приложение не запущено. Возможно, вы захотите посмотреть в TestApi что-нибудь, связанное с тестированием визуальных эффектов WPF ( ссылка )

Надеюсь, это поможет!

...