将 XUnit 与 Service Fabric 结合使用

Using XUnit with Service Fabric

我使用无状态服务模板创建了一个新的 Service Fabric 应用程序。我添加了一个简单的 class 以便我可以为其编写单元测试:

public class FakeClass
{
    public void DoStuff()
    {
        FabricClient client = new FabricClient();
    }
} 

我为单元测试创​​建了一个新的 class 库并引用了 xUnit 和 xUnit 运行ner nuget 包。当我尝试 运行 单元测试时,出现以下错误:

Result Message: System.BadImageFormatException : Could not load file or assembly 'XUnitExample.WebService, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An attempt was made to load a program with an incorrect format.

如何让 xUnit 与 Service Fabric 一起工作以便编写单元测试?

此问题与服务结构无关。您可以尝试重新安装 xunit 软件包吗?

这个问题显然与创建新项目时的默认设置有关。当您创建新项目时,它使用 Any CPU 作为默认体系结构,而 Service Fabric 需要 x64。

我不得不进入 Project Build 属性并将其更改为使用 x64 作为目标平台。这样做之后,我的单元测试没有出现在测试资源管理器中,所以我不得不更改以下设置:

Test -> Test Settings -> Default Processor Architecture -> x64