2014-02-12 2 views
0

저는 C# NUnit 프로젝트 기반의 Selenium webdriver 기반 프로젝트에서 Microsoft.Expression.Encoder를 사용하여 각 테스트 시나리오의 스크린 샷과 비디오를 캡처하는 몇 가지 테스트를 진행하고 있습니다. .dll. 아래 코드 샘플을 사용하여 명령 줄에서이 테스트를 실행할 계획입니다.셀렌 웹 드라이버를 실행합니다. 명령 줄에서 Microsoft.Expression.Encoder를 사용하여 C# 테스트를 실행합니다.

nunit-console /run:MyProject.Tests.SampleTest MyProject.dll 

내 프로젝트가 .NET Framework 4.0에서 빌드되었으므로, 아래 설정 행을 사용하여 프레임 워크 4.0을 사용하도록 nunit의 구성 파일을 업데이트했습니다.

<supportedRuntime version="v4.0.30319" /> 

테스트를 실행하려고하면 오류가 발생합니다. x86 및 x64 모드로 프로젝트를 구축하려고했지만 문제는 남아 있습니다.

오류 및 장애 : 1) 테스트 오류 : MyProject.Tests.SampleTest System.BadImageFormatException : 파일이나 어셈블리를로드 할 수 없습니다 'Microsoft.Expression.Encoder, 버전 = 4.0.0.0, 문화 = 중립, PublicKeyToken = 31bf3856ad364e35 '또는 해당 종속성 중 하나가 필요합니다. 잘못된 형식의 프로그램을로드하려고했습니다.

또한 명령 줄에서 잘 실행되는 간단한 테스트를 실행하려고했습니다.

+0

는 소리 아키텍처보다 훨씬 뛰어납니다. 테스트 라이브러리를 컴파일하고있는 것은 무엇입니까? 어떤 CPU? x86? – Arran

+0

모든 CPU, x86 및 x64에서 컴파일을 시도했습니다. 매번 같은 결과가 나타납니다. –

답변

0

나는 해결책을 찾아 냈다. 내 프로젝트에서 Microsoft.Expression.Encoder DLL을 사용하여 테스트를 녹화하면이 DLL은 x86으로 컴파일됩니다. 따라서 셀레늄 C# 프로젝트를 모든 CPU 모드로 유지하고 아래 명령을 사용하여 테스트를 수행 할 수 있습니다.

nunit-console-x86 /run:MyProject.Tests.SampleTest MyProject.dll 

NUNIT 폴더 갖는 두 개의 "NUNIT 콘솔"EXE 파일 (NUNIT-Console.exe를NUNIT-콘솔 X86.EXE)가 다른 컴파일되는 것처럼