繁体   English   中英

C# 单元测试上的类初始化失败

[英]Class initialization on C# Unit Test fails

单元测试新手。 我需要启动一个名为 SolidWorks 的应用程序并加载一个文件。 我的初始化不会运行。 我收到错误:

类初始化方法 UnitTestProject1.SolidWorksPartTests.MyClassInitialize 抛出异常。 System.IO.FileNotFoundException:System.IO.FileNotFoundException:无法加载文件或程序集“SolidWorks.Interop.sldworks,版本=27.1.0.72,Culture=neutral,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);

    }

我的类初始化有什么问题?

编辑构造函数或类初始值设定项均不运行。 不过,我之前创建的测试确实可以运行。

我相信我发现了问题。 我正在测试的项目中有一个设置。 它是在“属性->调试->启动操作”上找到的。 我将此设置为启动外部程序以在调试时启动 Solidworks。 我将其更改为“启动项目”。 似乎已经解决了这个问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM