NUnit 사용법을 배우고 있습니다. 나는 그것의 주 프로젝트를 솔루션에두고, 그것과 동일한 솔루션으로 별도의 프로젝트를 만들었다. 이 프로젝트에서 기본 프로젝트에 대한 참조를 추가하고 상단에동일한 솔루션에서 다른 프로젝트를 참조 할 때 FileNotFound 예외가 나타나는 이유는 무엇입니까?
using MainProjectNamespace;
을 추가합니다.
내가 NUnit에 갈 때 주 프로젝트 작업을 참조하지 않은 테스트가 있습니다. 이것들은 NUnit에 익숙해지기 위해 설정 한 테스트이며, 거의 쓸모가 없습니다.
TestLibrary.Test.TestMainProject : System.IO.FileNotFoundException : 는, 파일 또는 어셈블리 'WpfApplication2를로드 할 수 없습니다 버전 = 1.0.0.0, 문화 NUnit과 실제 테스트를 실행하면 테스트가이 예외를 throw = 중립, PublicKeyToken = null ' 또는 해당 종속성 중 하나. 시스템에서 지정한 파일을 찾을 수 없습니다.
왜 예외가 발생합니까?
편집 : 이제
내가 NUnit과에 어셈블리를로드하려고, 그것을하지 않습니다 심지어 부하 이것은 예외입니다
(그래서 심지어 테스트를 실행할 수있는 기회를 얻을 수 없다) 그 SUP 와서 스택 추적 :
System.IO.DirectoryNotFoundException : 경로의 일부를 찾을 수 없습니다 'LONG PATH 여기에 내가 입력합니다하지 마십시오'
System.IO.DirectoryNotFoundException...
Server stack trace:
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Directory.SetCurrentDirectory(String path)
at NUnit.Core.DirectorySwapper..ctor(String directoryName)
at NUnit.Core.Builders.TestAssemblyBuilder.Load(String path)
at NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, Boolean autoSuites)
at NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, String testName, Boolean autoSuites)
at NUnit.Core.TestSuiteBuilder.Build(TestPackage package)
at NUnit.Core.SimpleTestRunner.Load(TestPackage package)
at NUnit.Core.ProxyTestRunner.Load(TestPackage package)
at NUnit.Core.ProxyTestRunner.Load(TestPackage package)
at NUnit.Core.RemoteTestRunner.Load(TestPackage package)
at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(RuntimeMethodHandle md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at NUnit.Core.TestRunner.Load(TestPackage package)
at NUnit.Util.TestDomain.Load(TestPackage package)
at NUnit.Util.TestLoader.LoadTest(String testName)
EDIT2 : 위의 경로는 분명히 내 하드 드라이브에 있습니다.
EDIT3 : 방금 NUnit에서 디버그에서 릴리스로 전환하고 TestingLibrary의 릴리스 폴더에서 DLL을로드했습니다.로드되었습니다! 3 개의 네임 스페이스 관련 테스트 중 1 개가 작동했습니다. 어딘가로 가고 있습니다.
EDIT4 : Welllllllll ... 실제로 테스트를 실행할 수는 있지만 원래 오류로 돌아 왔습니다. IT가 주 프로젝트의 어셈블리를 찾지 못했습니다.
상대 경로 대 절대 경로에 문제가 있습니까? – BobbyShaftoe