AppVeyor Unit Test завершается неудачно, поскольку каталог не создан - PullRequest
0 голосов
/ 21 апреля 2019

Модульный тест JsonStorageTest () не выполняется каждый раз, когда он построен на AppVeyor, даже если он успешно выполняется на моей локальной машине.

   [Fact]
    public static void JsonStorageTest()
    {
        const string expected = "I'm a unit test!";
        const string expectedKey = "xUnitTests/TEST";

        IDataStorage storage = new JsonStorage();

        storage.StoreObject(expected, expectedKey);

        var actual = storage.RestoreObject<string>(expectedKey);

        Assert.Equal(expected, actual);
     }

Я вошел с RDP на виртуальную машину, которую запускает AppVeyor, и заметил,этот Appveyor не создает никакой директории, поэтому тест, естественно, не проходит.Эта ошибка также отображается в [Журнале сборки AppVeyor], поэтому я использовал RDP для поиска ошибки.

    public void StoreObject(object obj, string key)
    {
        var file = $"{key}.json";
        CreateDirectory(Path.GetDirectoryName(file));
        var json = JsonConvert.SerializeObject(obj);
        File.WriteAllText(file, json);
    }

Это метод, который обычно должен создавать каталог, но, как уже упоминалось, он нене делай этого с AppVeyor.Я надеюсь, что такого вопроса еще не существует (я искал целую вечность, но не нашел решения), и проблема не вызвана моей неспособностью написать правильный код.Кто-нибудь сможет указать мне правильное направление?

PS: вот ссылка репо , если это поможет.

...