/ / WPF - XamlParseException, коли метод тестування блоку в класі Window - c #, wpf, блок-тестування, mstest, xamlparseexception

WPF - XamlParseException, коли метод одиничного тестування в класі вікон - c #, wpf, одиничне тестування, 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 (посилання)

Сподіваюся, це допомагає!