Tôi là một fan hâm mộ lớn của khung công tác xUnit.NET; Tôi thấy nó nhẹ, đơn giản, sạch sẽ và có thể mở rộng.Mở rộng xUnit.NET để sử dụng mã tùy chỉnh khi xử lý một lớp và định vị phương thức thử
Bây giờ chúng ta hãy nói rằng tôi có một lớp học như vậy:
public class AdditionSpecification
{
static int result;
public void Because()
{
result = 2 + 2;
}
public void Result_is_non_zero()
{
Assert.True(result <> 0);
}
public void Result_is_correct()
{
Assert.Equal(4, result);
}
}
Với lớp thử nghiệm trên tôi muốn xUnit.NET để xem 2 trường hợp thử nghiệm và chạy các phương pháp Vì() trước mỗi trong số họ.
Gác lại bất kỳ vấn đề bạn có thể có với tên lớp hoặc phương pháp của tôi, cấu trúc của bài kiểm tra này/đặc điểm kỹ thuật, khuôn khổ xUnit.NET hoặc BDD, đây là câu hỏi của tôi:
Làm thế nào tôi có thể nói xUnit. NET mà tôi muốn tùy chỉnh như thế nào nó xác định và thực hiện các phương pháp kiểm tra ra khỏi lớp này mà không cần bằng cách sử dụng một tùy chỉnh [Fact] giống như thuộc tính trên mỗi phương pháp thử nghiệm mục tiêu?
Tôi biết rằng tôi có thể lấy được từ BeforeAfterAttribute để trang trí từng phương pháp thử với tùy chỉnh trước và sau khi thực thi. Làm thế nào tôi có thể làm điều này ở cấp lớp? Tôi có phải viết một Á hậu tùy chỉnh không?
Cảm ơn bạn đã cố gắng để giúp đỡ, nhưng phản ứng này không trả lời những câu hỏi mà tôi hỏi; làm thế nào để tôi nói với xUnit.NET những phương thức nào tôi muốn thực hiện dựa trên một số quy ước mà không sử dụng thuộc tính [Fact]. –
Giải pháp tôi đề xuất đạt được hiệu quả của việc có() được thực thi trước khi chạy thử. Tôi nhận ra rằng tôi vẫn đang sử dụng thuộc tính [Fact] để đạt được điều này. Tôi có thể hỏi tại sao bạn muốn tránh sử dụng [Fact]? – BenA
Để loại bỏ một số buổi lễ từ việc viết các đồ đạc thử nghiệm; nếu tôi tuân theo quy ước để mã hóa đồ đạc thử nghiệm của mình thì tôi có thể mã logic đó vào nhân vật (hoặc vào ITestClassCommand và RunWithAttribute tùy chỉnh) và xóa tất cả các thuộc tính [Fact], do đó làm cho các bài kiểm tra của tôi dễ đọc hơn một chút và nhanh hơn để mã. –