แอตทริบิวต์ [fact] คืออะไร?


88

ฉันแน่ใจว่านี่เป็นเรื่องง่ายมาก แต่ฉันไม่ได้ใช้ Googling ในสิ่งที่ถูกต้อง ในบล็อกที่เกี่ยวข้องกับการทดสอบหน่วยหลาย ๆ บล็อกฉันได้เห็นแอตทริบิวต์ [fact] ที่กำหนดให้กับหลายวิธี แต่ดูเหมือนจะไม่เข้าใจว่านี่หมายถึงอะไร ตัวอย่าง:

public class SomeClass
{
    [Fact]
    public void Foo()
    {

    }

    [Fact]
    public void Bar()
    {

    }
}

1
คำถามนี้เป็นที่น่าขบขันอยู่แล้วในผลลัพธ์ของ Google สำหรับ "FactAttribute" สำหรับฉันเมื่อฉันเขียนสิ่งนี้ ทำได้ดีกับ Google Juice, StackOverflow!
คริส

ฉันเห็นสิ่งที่ฉันผิดพลาดตอนนี้ ฉันคิดว่า [ความเป็นจริง] เป็นส่วนหนึ่งของกรอบการทดสอบ Visual Studio ดังนั้นทำไมฉันจึงไม่ได้ผลลัพธ์ที่มีความหมาย
jhammond

13
Googled FactAttribute จบลงที่นี่
James Love

2
ความจริง ... jeez ทำไมไม่เรียกมันว่า TestAttribute? หากผู้คนต้องการใช้ Google คุณก็รู้ว่าคุณเลือกชื่อที่ไม่ดี: \
Tor Haugen

1
ในเอกสาร GitHub สำหรับ xUnit จะอธิบายแอตทริบิวต์ Fact และวิธีใช้ในตัวอย่าง "Facts คือการทดสอบที่เป็นจริงเสมอโดยจะทดสอบเงื่อนไขที่ไม่แปรเปลี่ยน" xunit.github.io/docs/getting-started-dotnet-core.html
Umpa

คำตอบ:


92

เป็นของกรอบการทดสอบหน่วย xUnit

มันบอกว่าวิธีนี้เป็นการทดสอบหน่วย


1
ขอบคุณฉันคิดว่ามันเป็นส่วนหนึ่งของเฟรมเวิร์กการทดสอบหน่วย Visual Studio ดังนั้นทำไมฉันจึงไม่ได้ผลลัพธ์ที่มีความหมาย
jhammond

20
FactกับTestต่างกันอย่างไร
Lei Yang

23
แอตทริบิวต์ [Fact] ถูกใช้โดย xUnit Test Framework แอตทริบิวต์ [Test] ถูกใช้โดยกรอบการทดสอบอื่น ทั้งสองทำเครื่องหมายขั้นตอนเป็นการทดสอบ
DrKoch

พวกเขาทำเครื่องหมายว่าเป็น "การทดสอบ" โดยทั่วไปหรือ "การทดสอบหน่วย" โดยเฉพาะ? สิ่งนี้ไม่ชัดเจนจากความคิดเห็นที่โหวตมากกว่า 14 รายการที่ระบุว่า "ทั้งคู่ทำเครื่องหมายขั้นตอนนี้เป็นการทดสอบ"
Triynko
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.