System.UriFormatException в классе модульного тестирования - PullRequest
0 голосов
/ 04 февраля 2019

В моем тестовом проекте у меня есть ViewModel, который должен загрузить список объектов из файла ресурсов в приложении:

    private List<XapBus> staticBusList = new List<XapBus>();

    public XapEditorViewModel(ObservableCollection<XapDevice> deviceList, ObservableCollection<XapBus> busList)
    {
        DeviceList = deviceList;
        BusList = busList;

        string imagePath = "pack://application:,,,/Settings/BusSettingsSourceItems.xml";
        System.Windows.Resources.StreamResourceInfo imageInfo = System.Windows.Application.GetResourceStream(new Uri(imagePath));
        var stream = new StreamReader(imageInfo.Stream, false);
        XmlSerializer ser = new XmlSerializer(typeof(List<XapBus>));
        staticBusList = (List<XapBus>)ser.Deserialize(stream);
        stream.Close();
    }

И в моих тестовых методах я инициализирую ViewModel:

    [TestMethod]
    public void ViewModel_BusListIsNull_ReturnsFalse()
    {
        //Arrange
        XapEditorViewModel VM = new XapEditorViewModel();
        //Act
        VM.BusList = null;
        bool isOK = VM.AddBus(new XapBus());
        //Assert
        Assert.IsFalse(isOK);
    }

Когда я запускаю тесты, я получаю исключение System.UriFormatException.

Я нашел вопрос о стеке потока, который использует это:

    [TestInitialize]
    public void OnTestInitialize()
    {
        UriParser.Register(new GenericUriParser(GenericUriParserOptions.GenericAuthority), "pack", -1);
    }

Я добавил его, но безуспешно...

Есть идеи?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...