2010-09-30 2 views
2

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

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

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

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

ответ

0

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

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

3
Application.LoadComponent(
    new Uri("/MyAppAssemblyName;component/App.xaml", UriKind.Relative)); 

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

+0

В приложениях UWP для Win 10 эта перегрузка не существует. Кто-нибудь знает, а) что передать в качестве первого параметра, и б) что будет URI для UWP App.xaml? – Nilzor

Смежные вопросы