Tôi bắt đầu viết một bài kiểm tra đơn vị (MS Test, với Resharper làm á hậu kiểm tra). Khi tôi đặt LogicalThreadContext (xem bên dưới), các trường hợp thử nghiệm của tôi bị 'hủy bỏ'. Ai biết tại sao? Điều này có liên quan đến việc kiểm tra đơn vị đang ở trên một chủ đề khác không? Làm cách nào để giải quyết vấn đề này?log4net - LogicalThreadContext - và các trường hợp kiểm tra đơn vị
[TestClass]
public class ContextInfoTest
{
private ILog _log;
[TestInitialize]
public void TestInitialize()
{
// logging configured in assembly.info
_log = LogManager.GetLogger(this.GetType());
}
[TestMethod]
public void FigureOutWhyAborting()
{
string input = "blah";
LogicalThreadContext.Properties["mypropertyname"] = input;
string output = LogicalThreadContext.Properties["mypropertyname"] as string;
Assert.AreEqual(input, output);
}
[TestMethod]
public void ThisWorks()
{
string input = "blah";
CallContext.LogicalSetData("mypropertyname", input);
string output = CallContext.LogicalGetData("mypropertyname") as string;
Assert.AreEqual(input, output);
}
Điều kỳ lạ là nếu tôi được gỡ lỗi và bước qua mã, Assert.AreEqual không được gọi và vượt qua, vì vậy một cái gì đó đang xảy ra sau đó dòng mã ... đó là lý do tại sao tôi nghĩ rằng nó có thể có liên quan đến chuỗi thử nghiệm, v.v.
Cảm ơn!
UPDATE: Vì vậy, tôi chạy thử nghiệm này trong MSTest và có ngoại lệ này (Resharper không hiển thị nó)
Unit Test Adaptor ném ngoại lệ: Loại không được giải quyết cho thành viên 'log4net.Util.PropertiesDictionary, log4net, Phiên bản = 1.2.13.0, Văn hóa = trung lập, PublicKeyToken = 669e0ddf0bb1aa2a '..
Tôi đang sử dụng log4net v1.2.13, trên VS2013, .Net 4.5.
Liên kết này dường như đề xuất nó là một vấn đề hội đồng tham chiếu, nhưng không có độ phân giải. Bất kỳ ý tưởng bổ sung nào cũng sẽ được hoan nghênh rất nhiều, GAC'ing log4net không phải là một lựa chọn. https://issues.apache.org/jira/browse/LOG4NET-398
hoạt động tốt cho tôi (cả chạy và gỡ lỗi thử nghiệm) nhưng tôi không sử dụng reSharper. Có lẽ thử chạy chúng trực tiếp từ VS không thông qua ReShaper – ManyRootsofAllEvil