Tôi đang học cách sử dụng NUnit. Tôi có dự án chính của tôi trong giải pháp của nó, và tạo ra một dự án riêng biệt trong cùng một giải pháp mà sẽ tổ chức các bài kiểm tra đơn vị của tôi, với không gian tên riêng của nó. Từ dự án đó, tôi thêm một tham chiếu đến dự án chính và thêm một sốTại sao tôi nhận được ngoại lệ FileNotFound khi tham chiếu một dự án khác từ cùng một giải pháp?
using MainProjectNamespace;
lên đầu nó.
Khi tôi truy cập NUnit, mọi thử nghiệm mà tôi có không tham chiếu đến công việc chính của dự án. Đây là những bài kiểm tra tôi thiết lập chỉ để làm quen với NUnit, và khá là vô ích. Khi NUnit chạy các bài kiểm tra thực sự thử nghiệm ném ngoại lệ này:
TestLibrary.Test.TestMainProject: System.IO.FileNotFoundException: Không thể tải tập tin hoặc lắp ráp 'WpfApplication2, Version = 1.0.0.0, Văn hóa = trung lập, PublicKeyToken = null ' hoặc một trong các phụ thuộc của nó. Hệ thống không thể tìm thấy tệp được chỉ định.
Tại sao tôi nhận được ngoại lệ này?
EDIT:
Bây giờ khi tôi cố gắng để tải lắp ráp vào NUnit, nó sẽ thậm chí không tải (vì vậy tôi thậm chí không thể có được một cơ hội để chạy thử nghiệm)
Đây là ngoại lệ mà đến sup, và stack trace:
System.IO.DirectoryNotFoundException: không thể tìm thấy một phần của đường dẫn 'pATH DÀI ĐÂY tÔI kHÔNG muốn gõ'
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: Đường dẫn trên rõ ràng IS trong ổ cứng của tôi
EDIT3: Tôi vừa chuyển từ Debug sang Release, trên NUnit và tải dll từ thư mục phát hành của TestingLibrary ... Và nó đã tải! 1 trong 3 thử nghiệm không gian tên cụ thể đã hoạt động. Bắt một nơi nào đó, tôi.
EDIT4: Welllllllll ... Tôi thực sự có thể chạy thử nghiệm ngay bây giờ, nhưng tôi quay trở lại lỗi ban đầu. CNTT không tìm thấy lắp ráp cho dự án chính
Bạn có gặp sự cố với đường dẫn tương đối so với tuyệt đối không? – BobbyShaftoe