2012-09-10 28 views

Trả lời

39

Không có sự khác biệt. Assert.True() và những người khác (không có Is) đã được thêm từ v2.5.

Từ tài liệu hướng dẫn cho phiên bản 2.5: (nunit v2.5)

Hai hình thức được cung cấp cho các notnull điều kiện True, False, Null và. Các "là" hình thức tương thích với các phiên bản trước của khuôn khổ NUnit , trong khi những người không "là" được cung cấp cho khả năng tương thích với NUnitLite

BTW, tháo rời nunit.framework.dll (sử dụng ILSPY)

public static void IsTrue(bool condition) 
{ 
    Assert.That(condition, Is.True, null, null); 
} 

public static void True(bool condition) 
{ 
    Assert.That(condition, Is.True, null, null); 
} 
+0

Người dùng có bất kỳ tùy chọn nào để sử dụng không? Hoặc là có một "nên" được sử dụng? – dmeehan

+1

Theo câu trả lời tiếp theo, ba cách triển khai hoàn toàn giống nhau và tất cả đều dựa trên Assert.That() Vì vậy, tốt nhất nên sử dụng trực tiếp Assert.That() ... câu trả lời của sll (ở đây, trong này bài đăng) được sao chép từ trang NUnit: http://www.nunit.org/index.php?p=conditionAsserts&r=2.5 ở cuối trang. Khác với THAT, và trong mọi trường hợp, cố gắng tránh cả ba và sử dụng các xác nhận tốt hơn, như Eyal Eini (Ayende) từ RavenDB đã viết ở đây: http://ayende.com/blog/4118/assert-true-is-the -tool-of-last-resort – pashute

12

Dường như không có bất kỳ sự khác biệt nào về triển khai. Nhìn vào mã nguồn của phiên bản mới nhất here, các True, IsTrueThat đều thực hiện theo cách tương tự khi danh sách đối số đều giống nhau:

public static void True(bool condition, string message, params object[] args) 
{ 
    Assert.That(condition, Is.True, message, args); 
} 
... 
public static void IsTrue(bool condition, string message, params object[] args) 
{ 
    Assert.That(condition, Is.True, message, args); 
} 
... 
static public void That(bool condition, string message, params object[] args) 
{ 
    Assert.That(condition, Is.True, message, args); 
} 

Các phương pháp quá tải được thực hiện Tương tự.

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