Thuộc tính [fact] là gì?


85

Tôi chắc chắn rằng điều này cực kỳ đơn giản, nhưng tôi rõ ràng không phải Google Googling là đúng. Trong một số blog liên quan đến unit test, tôi đã thấy thuộc tính [fact] được cấp cho một số phương pháp, nhưng tôi dường như không thể hiểu điều này có nghĩa là gì. Thí dụ:

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

    }

    [Fact]
    public void Bar()
    {

    }
}

1
Thật thú vị là câu hỏi này đã đứng thứ 6 trong kết quả của google cho "FactAttribute" đối với tôi khi tôi viết bài này. Làm tốt lắm trên google juice, StackOverflow!
— Chris,

Tôi thấy những gì tôi truy cập sai vào bây giờ. Tôi cho rằng [thực tế] là một phần của khuôn khổ thử nghiệm studio trực quan, do đó, tại sao tôi không nhận được bất kỳ kết quả có ý nghĩa nào
— jhammond

13
Googled FactAttribute, đã kết thúc ở đây.
— James Love

2
Sự thật ... trời ơi, tại sao không gọi nó là TestAttribute? Nếu mọi người cần google nó, bạn biết bạn đã đưa ra một lựa chọn đặt tên không tốt: \
— Tor Haugen

1
Trong tài liệu GitHub cho xUnit, nó giải thích thuộc tính Fact và cách sử dụng nó trong một ví dụ "Facts là các bài kiểm tra luôn đúng. Chúng kiểm tra các điều kiện bất biến". xunit.github.io/docs/getting-started-dotnet-core.html
— Umpa

Câu trả lời:


89

Nó thuộc về khung thử nghiệm đơn vị xUnit.

Nó nói rằng phương pháp là một bài kiểm tra đơn vị.


1
Cảm ơn, tôi đã cho rằng nó là một phần của khung kiểm tra đơn vị Visual Studio, do đó, tại sao tôi không nhận được bất kỳ kết quả có ý nghĩa nào.
— jhammond

19
Sự khác biệt giữa Thực tế và Thử nghiệm là gì?
— Lei Yang

22
Thuộc tính [Fact] được sử dụng bởi xUnit Test Framework. Thuộc tính [Thử nghiệm] được sử dụng bởi một khung thử nghiệm khác. Cả hai đánh dấu thủ tục như một bài kiểm tra.
— DrKoch

Họ đánh dấu nó là một "bài kiểm tra" nói chung, hay một "bài kiểm tra đơn vị" cụ thể? Điều này không rõ ràng so với hơn 14 nhận xét được ủng hộ có nội dung "Cả hai đều đánh dấu quy trình như một bài kiểm tra".
— Triynko
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.