Chúng tôi đang sử dụng Xunit để thử nghiệm. Chúng tôi đang chạy các thử nghiệm của mình thông qua Trình xây dựng thử nghiệm Visual Studio 2013 tích hợp, sử dụng plugin Xunit.Làm cách nào để tham khảo các tệp thử nghiệm từ các bài kiểm tra Xunit trong Visual Studio?
Vấn đề là một số thử nghiệm cần phải tham chiếu đến tệp trên hệ thống tệp. Dường như Xunit (hoặc VS Test Runner - không chắc chắn), sao chép các tập hợp, nhưng không phải bất kỳ tệp hỗ trợ nào trong thư mục bin, đến thư mục khác trước khi thực hiện các kiểm tra, do đó không tìm thấy tệp thử nghiệm của chúng tôi. [Khung MS kiểm tra xác định thuộc tính cho danh sách các tập tin được sao chép, nhưng xUnit không.]
Làm thế nào để hoặc vô hiệu hóa hành vi sao chép này, nếu không lập trình xác định vị trí bin/
thư mục gốc để lấy các tập tin?
Dường như hầu hết các giải pháp được đề xuất (kể cả trên trang web theo dõi lỗi Xunit) đề xuất lưu trữ tệp dưới dạng tài nguyên được nhúng thay vì tệp ‘sao chép luôn’. Tuy nhiên, điều này không phải lúc nào cũng thực tế, ví dụ: kiểm tra mã thao tác tệp và mã (trong một trường hợp) muốn có tệp cơ sở dữ liệu Sqlite.
Thật không may, giải pháp này không có tác dụng nữa, điểm nhập url là không thích hợp: System.IO.FileNotFoundException: Không thể tìm thấy tập tin 'C: \ Users \ [tên người dùng] \. Nuget \ packages \ microsoft.testplatform.testhost \ 15.0.0 \ lib \ sample.log'. – st78
@ st78 Ý của bạn là ‘không hoạt động nữa” - Bạn đang sử dụng phiên bản .NET nào? Ý bạn là gì bởi “URL điểm nhập”? – andrewf
Tôi đã gặp vấn đề tương tự như st78 khi sử dụng xunit và .net Core nhưng điều này đã giải quyết được vấn đề này. Tôi đã sử dụng Assembly.Location nhưng tôi đã có lỗi mà st78 đề cập đến. Sử dụng CodeBase đã giải quyết được vấn đề. – alas