không nhất thiết Tôi có một phương pháp mà tôi đang cố gắng gọi từ một bài kiểm tra đơn vị. Phương pháp này trong đời thực sẽ được chạy từ chuỗi nền. Nó sử dụng một số mã để khởi động trong các bản cập nhật gọi đến luồng giao diện người dùng (sử dụng Application.Current.Dispatcher.BeginInvoke
....).Application.Current is null khi gọi từ số
Tuy nhiên Application.Current
là null
khi được gọi từ các bài kiểm tra đơn vị.
Tôi không thực sự phải đặt một cái gì đó để sửa lỗi.
Có cách nào khác xung quanh vấn đề này không?
_statusUpdates là một ObservableCollection
Dưới đây là một phần của mã trong phương pháp Tôi đang tìm để kiểm tra (nó là chi tiết của một thử nghiệm tích hợp hơn là một thử nghiệm đơn vị phải công bằng).
Application.Current.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, (EventHandler)delegate
{
_statusUpdates.Add(new StatusUpdate
{
DateTime = DateTime.Now,
Message = "Checking For Messages"
});
}, null, null);
@SonerGonul :-) Bạn sửa tất cả các câu hỏi của con người. Bạn là một người tốt –
Nếu bạn đang làm một bài kiểm tra đơn vị, Ứng dụng đó có bao giờ được khởi tạo không? Thông thường tôi chạy vào một vấn đề như thế này nếu ứng dụng chỉ được khởi động hoặc tắt (và ứng dụng chưa được xây dựng, hoặc đã bị phá hủy). – sircodesalot
@sircodesalot Vâng, đó là vấn đề Application.current là null, khi tôi đang chạy thử nghiệm. Có cách nào tôi có thể buộc nó để nhanh chóng hoặc một cái gì đó, thay vì thêm một tải kiểm tra cho! = Null tất cả các nơi? – DermFrench