2013-07-26 28 views
48

Gần đây tôi đã cập nhật lên Resharper 8 và khi tôi cố chạy một bộ dự án. Các thử nghiệm này chứa hai bộ kiểm thử tích hợp, cả hai đều sử dụng IISExpress để chạy một trang web, tạo các yêu cầu web và kiểm tra các phản hồi.Chạy NUnit thông qua Resharper 8 kiểm tra không thành công khi chuyển giữa các dự án do AppDomain

Chạy chúng một cách thành công và chạy tất cả các thử nghiệm trước đây sẽ thành công. Tuy nhiên, sau khi nâng lên, tập kiểm tra thứ hai để chạy sẽ thất bại.

Điều tra đã tiết lộ số AppDomain.CurrentDomain.BaseDirectory vẫn là kiểm tra đầu tiên chạy thay vì thay đổi. Vì các bài kiểm tra tích hợp bao gồm hai dự án, điều này khiến cho dự án thứ hai thất bại vì nó không thể tìm thấy bất kỳ tệp cấu hình nào cần thiết.

Tôi không thể tìm thấy bất kỳ tùy chọn nào để tắt hành vi khác này trong Resharper 8, dường như là hành vi của cờ đơn vị /domain:Single. Ngắn của downgrading để Resharper 7, không ai biết một giải pháp này? Và nó là một hành vi dự định của Resharper 8 hoặc một lỗi?

Trả lời

55

Các Cách giải quyết:

Bạn đã cố gắng trong Visual Studio sẽ ReSharper -> Options -> Tools -> Đơn vị kiểm tra

Thay đổi các thiết lập "Chạy lên đến 1 cụm song song "đến một số cao hơn. Tôi đã thử một cho mỗi dự án thử nghiệm. Max là số lõi, tôi nghĩ vậy.

phản trực giác tôi biết, nhưng nó làm việc cho tôi và tôi đang sử dụng AppDomain.CurrentDomain.BaseDirectory trong các cuộc thử nghiệm thất bại

Nguyên nhân Một bộ nhớ đệm tối ưu hóa lỗi trong ReSharper 8. Working Directory được không được thiết lập đúng cách. Có lẽ chạy song song tạo ra một quá trình riêng biệt cho mỗi bài kiểm tra, vì vậy họ không đi qua các thiết lập của nhau.

Cách khắc phục JetBrains khẳng định rằng điều này sẽ được cố định trong phiên bản 8.0.1

Cập nhật: Có một thử nghiệm lựa chọn đơn vị mới thêm vào trong Resharper 8.1 để chứa kịch bản này. . Tìm nó ở ReSharper -> Options -> Tools -> Đơn vị kiểm tra -> "Sử dụng AppDomain riêng biệt cho từng lắp ráp với các xét nghiệm

+1

+1 Cùng một vấn đề ở đây. Thay đổi cài đặt được đề xuất của bạn cũng phù hợp với tôi. – Andomar

+0

Cảm ơn, điều đó đã giúp tôi. Vấn đề này không được khắc phục trong 8.0.1 BTW. Có thể được sửa trong một phiên bản sau đó. –

+0

Xem câu trả lời của @Paul Stuart bên dưới để biết cài đặt cụ thể hơn để nhắm mục tiêu lỗi này. (Cách giải quyết này không hoạt động, mặc dù). – stannius

6

này hiện đã được cố định trong Resharper 8.0.2: http://youtrack.jetbrains.com/issue/RSRP-374143#comment=27-572929

Đừng quên đánh dấu vào tùy chọn mới ReSharper | Options | Tools | Unit Testing |. "Sử dụng AppDomain riêng cho từng lắp ráp với test" để có được nó hoạt động

tức là Hiện có một tùy chọn mới trong cài đặt Kiểm tra đơn vị.

+2

Điều này khắc phục sự cố cho tôi trong Resharper 8.1 –

+1

Đã sao chép và sửa lỗi nhưng PHẢI kiểm tra tùy chọn mới trong cài đặt ReSharper. – SpaceBison

Các vấn đề liên quan