Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Clarify: Test Object `name` and `suite`

Đang mở
#64 4 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
45/100
Loại issue
Tài liệu
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
python
Lĩnh vực
documentation, testing-qa

Hướng nghiên cứu

Bắt đầu với các mục 9.4 (name) và 9.9 (suite), sau đó so sánh cách diễn đạt của chúng với ví dụ Python unittest trong issue. Làm rõ cách biểu diễn tên phương thức, tiêu đề kiểm thử và hệ thống phân cấp của suite, bao gồm cả việc tiêu đề thuộc các trường tiêu chuẩn hay một trường bổ sung; hoàn tất khi đặc tả đưa ra một khuyến nghị rõ ràng, không mơ hồ.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Please clarify how to document a tests:

  • title
  • name
  • suite hierarchy
Current State of the Spec

Under section "9.4. name" the spec says:

The name or title of the test case.

Under section "9.9. suite" the spec says:

An ordered list of suite or grouping names to which this test belongs, ordered from the top-level suite to the immediate parent of the test.

Situation for xUnit (i.e. Python unittest)

Best explained with an example:

File tests/test_ping.py:

class TestPingTestCase(unittest.TestCase):
    def test_icmp_ping(self):
        """Test Reachability With ICMP Ping
        """
        ... # test code omitted

I would like to document:

  • the suite the test belongs to: ["tests", "test_ping", "TestPingTestCase"]
  • the tests method name: "test_icmp_ping"
  • the tests title (from the so called doc-string): "Test Reachability With ICMP Ping"
  1. According to "9.9 suite", the test methods name does not belong to suite:

    to the immediate parent of the test

  2. Now is left "9.4 name": To ensure that the test can be clearly identified, I need to choose as name the test methods name ("test_icmp_ping"). Also the test method always exists.
  3. The title of the test ("Test Reachability With ICMP Ping") therefore can't be taken into account. Documenting a test is optional anyway and could be documented within e.g. results.tests[].extra.<NAMESPACE>.title.

Resulting in:

  • set name to "test_icmp_ping"
  • set suite to ["tests", "test_ping", "TestPingTestCase"]
  • omit the tests title or e.g. set results.tests[].extra.<NAMESPACE>.title to "Test Reachability With ICMP Ping"

Evaluated and Rejected Alternatives:

  1. Add the tests method name to the "suite" like this: ["tests", "test_ping", "TestPingTestCase", "test_icmp_ping"] and document the optional title under "name". This contradicts the spec for suite stating the "up to the immediate parent" and name being mandatory. --> No go
  2. Keep suite "up to the immediate parent" (["tests", "test_ping", "TestPingTestCase"]) and set name to "test_icmp_ping: Test Reachability With ICMP Ping" to include both the tests method name and title (if available). This potentially could put a burden to the consumer being able to split the method name from the optional title. --> Bad

Would you also recommend to omit the tests title?

Ngôn ngữ chính
Không có dữ liệu ngôn ngữ
Star
99
Fork
4
Merge trung bình
1 giờ 21 phút
Pull request đã merge (30 ngày)
1

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của ctrf-io/ctrf

Tất cả issue của ctrf-io/ctrf

Issue tương tự

Thêm issue về Documentation

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.