我已经将一些测试用例与单元测试关联在一个项目中。该项目将构建并复制到共享上的放置位置。当我去运行这些测试时,由于来自作为这些测试的一部分而包含的非托管DLL的System.DllNotFoundExceptions,我得到了很多失败?Microsoft测试管理器如何运行自动单元测试?
有谁知道为什么发生这种情况?我有一个实验室环境设置,测试(假设)在该机器上运行。什么时候这些测试运行的工作流程是什么? TestController是否将单元测试DLL复制到实验室环境中的本地计算机上,还是试图直接从构建文件夹中运行?
以下是错误的堆栈跟踪。请注意,c:\ Builds \不在测试机器上,这对我来说似乎颇为怀疑。
Test method OutputProcessing.Integration.PanaceaOutputG1.ReactorCoreSimulationResults threw exception:
System.DllNotFoundException: Unable to load DLL 'ge.gnf.cedar06.c.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
Gnf.Cedar.NativeMethods.ATACHF(Int32& fileCode, String fileName, Int32& openMode, Int32[] stat)
Gnf.Cedar.ManagedMethods.Atachf(String fileName, FileAccess access, Int32[] stat)
Gnf.Cedar.Cypress.CedarFile.OpenCedarFile(String path, FileAccess access, FileSizeHint hint, AuditMode auditMode, ChainingOrderOption chainingOrder, Boolean createIfMissing)
Gnf.Cedar.Cypress.CedarFile..ctor(String path, FileMode mode, FileAccess access, FileSizeHint hint, AuditMode auditMode, ChainingOrderOption chainingOrder)
Gnf.Cedar.Cypress.CedarFile..ctor(String path, FileMode mode, FileAccess access)
GE.GNF.Acumen.Cedar.DataAccess.CedarRepository.GetCedarFile() in c:\Builds\11\ACUMEN\DEV Test Build\src\Acumen\Cedar\Cedar.DataAccess\CedarRepository.cs: line 67
GE.GNF.Acumen.Cedar.DataAccess.CedarRepository..ctor(String fullFilePath) in c:\Builds\11\ACUMEN\DEV Test Build\src\Acumen\Cedar\Cedar.DataAccess\CedarRepository.cs: line 40
GE.GNF.Acumen.Cedar.DataAccess.CedarRepository..ctor(String fullFilePath, String qualifier) in c:\Builds\11\ACUMEN\DEV Test Build\src\Acumen\Cedar\Cedar.DataAccess\CedarRepository.cs: line 43
OutputProcessing.Integration.PanaceaOutputG1.ReactorCoreSimulationResults() in c:\Builds\11\ACUMEN\DEV Test Build\src\Acumen\Auto Integration Tests\OutputProcessing.Integration\PanaceaOutputG1.cs: line 58
请问[DeploymentItem]属性还工作吗? –
是的,[DeploymentItem]也会起作用。 – Elena
您可否详细介绍一下如何使用测试设置上的部署选项?当我在那里添加一个文件时,它使用我机器的绝对路径。那甚至可以在自动化环境中工作? – julealgon