/ / WPF - XamlParseException при метода за тестване на единица в прозореца клас - c #, wpf, unit-testing, mstest, xamlparseexception

WPF - XamlParseException при метода за тестване на единица в Window class - c #, wpf, unit-testing, mstest, xamlparseexception

Опитвам се да използвам MSTest за писане на единични тестове за методи в моя MainWindow клас в моето WPF приложение. Въпреки това получавам следното изключение:

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

verticalLineStyle се намира в a ResourceDictionary това е включено в App.xaml, Нямам нужда от този стил да тествам метода, който се опитвам да тествам, но не мога да преодолея това. Аз просто създавам нов инстант MainWindow в моя тест за единица и се опитвам да се обадя на метод на инстанция за това. Изключението възниква, когато се опитам да създам инстанцията на MainWindow. MainWindow се дефинира като public partial class MainWindow : Window.

Как да се отърва от тази грешка? Има ли предпочитан начин за тестване на единични методи в прозорци в WPF приложения?

Отговори:

4 за отговор № 1
Application.LoadComponent(
new Uri("/MyAppAssemblyName;component/App.xaml", UriKind.Relative));

Това ми помогна.


0 за отговор № 2

Проблемът е, че тестът няма достъп до App.xaml, тъй като приложението не е стартирано. Може да искате да погледнете в TestApi за всичко свързано с тестване на WPF визуализации (връзка)

Надявам се това да помогне!