2

我创建了一个 Service Fabric 应用程序,并在解决方案中添加了一个 MSTest 项目来测试服务中的方法。

为此,我HelloWorldAPI.dll在 MSTest 项目中添加了一个服务项目引用。

在此之后,我在 Visual Studio Team Services(原为 VSO)中创建了一个自动构建定义,并尝试通过此构建执行 Visual Studio 测试用例。但是,我收到以下错误:

> Starting task: Test Assemblies **\*test*.dll;-:**\obj\**
******************************************************************************
Executing the powershell script: C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agents\1.104.1\tasks\VSTest\1.0.50\VSTest.ps1
Working folder: C:\a\1
Executing C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe "C:\a\1\s\POC\ServiceFabric\HelloWorld\UnitTestProject1\bin\Debug\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll" "C:\a\1\s\POC\ServiceFabric\HelloWorld\UnitTestProject1\bin\Debug\UnitTestProject1.dll"  /logger:trx
Microsoft (R) Test Execution Command Line Tool Version 14.0.25420.1
Copyright (c) Microsoft Corporation.  All rights reserved.
Starting test execution, please wait...
Failed   GetHelloWorldString
Error Message:
Unable to create instance of class HelloWorld.Test.ProductContollerTest. Error: System.BadImageFormatException: Could not load file or assembly 'HelloWorldAPI, 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..
Stack Trace:
at HelloWorld.Test.ProductContollerTest..ctor()

 - ***Error Message:***

*
**

> Unable to create instance of class
> HelloWorld.Test.ProductContollerTest. Error:
> System.BadImageFormatException: Could not load file or assembly
> 'HelloWorldAPI, 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..

**
*

请在 Team Services 中找到随附的以下配置详细信息:

VSTest 配置详情

Stack Trace:
at HelloWorld.Test.ProductContollerTest..ctor()
Failed   GetAllProductListTest
Test Run Failed.
Results File: C:\a\1\TestResults\buildguest_TASKAGENT5-0026 2016-08-22 08_48_07.trx
Total tests: 2. Passed: 0. Failed: 2. Skipped: 0.
Test execution time: 0.4165 Seconds
System.Exception: VSTest Test Run failed with exit code: 1
Publishing Test Results...
Test results remaining: 2
Published Test Run : https://jci.visualstudio.com/Project%20-%20Microservices/_TestManagement/Runs#runId=3191&_a=runCharts

是否可以在 VSTest 执行步骤中加载依赖(项目)程序集?

4

1 回答 1

1

我来不及回答这个问题。但是今天我遇到了同样的问题,所以我想在这里分享我的解决方案。它可能会帮助某人。
注意- 我正在使用 Visual Studio 2017。
对我来说,这是因为在程序集/项目中使用的处理器架构(32 位/64 位)不一致。
为了解决这个问题,我将所有项目的架构设置为 64 位 (x64)。您可以通过在解决方案资源管理器中右键单击您的解决方案,然后Properties>Configuration Properties并单击Configuration Manager按钮来执行此操作。
接下来,我将测试的默认处理器架构设置为 x64 。您可以通过单击Test菜单 > Test Settings> Default Processor Architecture>来执行此操作x64
确保您正在执行以正确路径生成的库 - \bin\x64\发布\mytests.dll

于 2020-06-03T18:05:53.907 回答