Инициализация класса на C# Сбой модульного теста - PullRequest
0 голосов
/ 26 февраля 2020

Новое в модульном тестировании. Мне нужно, чтобы приложение под названием SolidWorks запустилось и загрузило файл. Моя инициализация не запустится. Я получаю сообщение об ошибке:

Метод инициализации класса UnitTestProject1.SolidWorksPartTests.MyClassInitialize бросил исключение. System.IO.FileNotFoundException: System.IO.FileNotFoundException: не удалось загрузить файл или сборку 'SolidWorks.Interop.sldworks, версия = 27.1.0.72, культура = нейтральная, PublicKeyToken = 7c4797c3e4eeac03' или одна из ее зависимостей. Система не может найти указанный файл ..

Я точно знаю, что ссылка там. Я думаю, что это как-то связано со ссылками на статистику. Мой код выглядит так:

    private TestContext testContextInstance;
    private static IModelDoc2 model;
    private static SolidWorksPart solidWorksPart;
    private static ISldWorks app;

    [ClassInitialize()]
    public static void MyClassInitialize(TestContext testContext) 
    {
        string testFolderLocation = @"C:\Users\erics\source\repos\XXXXXXXXXXXX\UnitTestProject1\TestFileFolder\";
        var progId = "SldWorks.Application";
        var progType = System.Type.GetTypeFromProgID(progId);
        app = System.Activator.CreateInstance(progType) as ISldWorks;
        app.Visible = false;

        string testFilePath = testFolderLocation + "FF99999 Circle.SLDPRT";
        int errors = 0;
        object importData = new object();
        app.LoadFile4(testFilePath, "", importData, ref errors);
        model = (IModelDoc2)app.ActiveDoc;
        solidWorksPart = new SolidWorksPart(model);

    }

Что не так с моей инициализацией класса?

EDIT Ни конструктор, ни инициализатор класса не работают. Тем не менее, созданные мной ранее тесты выполняются.

1 Ответ

0 голосов
/ 27 февраля 2020

Мне кажется, я нашел проблему. У меня был параметр в моем проекте, который я тестировал. Это было найдено в «Свойства-> Отладка-> StartAction». У меня был установлен запуск внешней программы для запуска Solidworks при отладке. Я изменил это на «Начать проект». IT кажется исправил проблему.

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