Fixtures

Phần mềm chụp màn hình:
Fixtures
Các chi tiết về phần mềm:
Phiên bản: 0.3.14
Ngày tải lên: 14 Apr 15
Nhà phát triển: Robert Collins
Giấy phép: Miễn phí
Phổ biến: 17

Rating: 5.0/5 (Total Votes: 1)

Đèn chiếu sáng là một công cụ giúp xác định một hợp đồng Python cho tái sử dụng nhà nước / hỗ trợ logic, chủ yếu cho các đơn vị kiểm tra & nbsp;. Helper và thích ứng với logic được bao gồm để làm cho nó dễ dàng để viết đồ đạc của riêng bạn bằng cách sử dụng hợp đồng cố định. Keo dán mã được cung cấp mà làm cho sử dụng đồ đạc mà đáp ứng các hợp đồng Đèn chiếu sáng trong trường hợp thử nghiệm unittest tương thích dễ dàng và thẳng về phía trước.
Tại sao Đèn
Chuẩn Python unittest.py cung cấp không có phương pháp rõ ràng cho việc tái sử dụng và nhà nước cần thiết trong một trường hợp thử nghiệm khác hơn bằng cách thêm một phương thức trên lớp thử nghiệm. Quy mô này kém - chức năng helper phức tạp propogating lập một hệ thống phân cấp lớp thử nghiệm là một mô hình thường xuyên khi điều này được thực hiện. Mocking trong khi một công cụ tuyệt vời không tự ngăn chặn điều này (và những người giúp đỡ để thử những điều phức tạp có thể tích tụ trong cùng một cách nếu đặt trên lớp thử nghiệm).
Bằng cách xác định một hợp đồng thống nhất nơi những người giúp đỡ không có sự phụ thuộc vào các lớp thử nghiệm, chúng tôi cho phép tất cả các hoạt động vệ sinh mã thường xuyên diễn ra mà không ảnh hưởng bóp méo được trong một hệ thống phân cấp lớp được mô hình hoá một điều hoàn toàn khác nhau - đó là những gì những người giúp đỡ về một TestCase bị.
About Đèn
A Lịch thi đấu đại diện cho một số nhà nước. Mỗi trận đấu có các thuộc tính trên đó được cụ thể cho các trận đấu. Ví dụ, một nhân vật đại diện cho một thư mục có thể được sử dụng cho các tập tin tạm thời có thể có một thuộc tính 'con đường'.
Tạo Đèn
Tối thiểu, subclass Lịch thi đấu, xác định thiết lập để khởi tạo trạng thái của bạn và một lịch trình dọn dẹp cho khi dọn dẹp được gọi và bạn đang thực hiện:
>>> Nhập unittest
>>> Đồ đạc nhập khẩu
>>> Class NoddyFixture (fixtures.Fixture):
... Def thiết lập (tự):
... Siêu (NoddyFixture, tự) .setUp ()
... Self.frobnozzle = 42
... Self.addCleanup (delattr, tự, 'frobnozzle')
Điều này sẽ khởi tạo frobnozzle khi setUp được gọi, và khi dọn dẹp được gọi là để loại bỏ các thuộc tính frobnozzle.
Có một helper để thích ứng một chức năng hoặc chức năng cặp vào Đèn chiếu. nó đặt các kết quả của các chức năng trong fn_result:
>>> Nhập os.path
>>> Nhập shutil
>>> Nhập tempfile
>>> Def setup_function ():
... Trở tempfile.mkdtemp ()
>>> Def teardown_function (cố định):
... Shutil.rmtree (cố định)
>>> Cố = fixtures.FunctionFixture (setup_function, teardown_function)
>>> Fixture.setUp ()
>>> Print os.path.isdir (fixture.fn_result)
Thật
>>> Fixture.cleanUp ()
Các API Lịch thi đấu
Ví dụ trên giới thiệu một số các API đấu. Để có thể làm sạch sau khi một trận đấu đã được sử dụng, tất cả đồ đạc xác định một phương pháp Cleanup sẽ được gọi khi một trận đấu kết thúc với.
Bởi vì tốt đẹp của nó để có thể xây dựng một tập hợp các đồ đạc có liên quan trước khi sử dụng chúng, đồ đạc cũng có nghĩa một phương thức setUp mà phải được gọi trước khi cố gắng sử dụng chúng.
Một mong muốn chung với đồ đạc có đắt tiền để tạo ra là để tái sử dụng chúng trong nhiều trường hợp kiểm tra; để hỗ trợ này các cơ sở thi đấu cũng định nghĩa một thiết lập lại mà gọi self.cleanUp (); self.setUp (). Đèn chiếu sáng có hiệu quả hơn có thể làm cho mình thể tái sử dụng nên ghi đè phương pháp này. Điều này sau đó có thể được sử dụng với nhiều trạng thái thử nghiệm thông qua những thứ như testresources, setUpClass, hoặc setUpModule.
Khi sử dụng một vật cố định với một thử nghiệm, bạn có thể tự gọi các phương pháp và dọn dẹp. Thuận tiện hơn, mặc dù là sử dụng keo bao gồm từ fixtures.TestWithFixtures cung cấp một mixin định useFixture (trường hợp lạc đà vì unittest là trường hợp lạc đà trong suốt) phương pháp. Nó sẽ gọi setUp trên fixture, gọi self.addCleanup (cố định) để sắp xếp một dọn dẹp, và trả lại vật cố định. Điều này cho phép một ghi:
>>> Testtools nhập khẩu
>>> Nhập unittest
Lưu ý rằng chúng tôi sử dụng testtools testcase ở đây là chúng ta cần phải đảm bảo một phương pháp TestCase.addCleanup.
& Nbsp; >>> class NoddyTest (testtools.TestCase, fixtures.TestWithFixtures):
& Nbsp; ... def test_example (tự):
& Nbsp; ... cố = self.useFixture (NoddyFixture ())
& Nbsp; ... self.assertEqual (42, fixture.frobnozzle)
& Nbsp; >>> result = unittest.TestResult ()
& Nbsp;. >>> _ = NoddyTest ('test_example') chạy (kết quả)
& Nbsp; >>> in result.wasSuccessful ()
& Nbsp; Đúng
Đèn chiếu sáng thực hiện các giao thức bối cảnh, vì vậy bạn cũng có thể sử dụng một vật cố định như một người quản lý bối cảnh:
>>> Với fixtures.FunctionFixture (setup_function, teardown_function) là cố định:
... In os.path.isdir (fixture.fn_result)
Đúng

Yêu cầu :

  • Python

Phần mềm tương tự

Phần mềm khác của nhà phát triển Robert Collins

zope_fixtures
zope_fixtures

20 Feb 15

testrepository
testrepository

20 Feb 15

anonymiseip
anonymiseip

20 Feb 15

Ý kiến ​​để Fixtures

Bình luận không
Nhập bình luận
Bật hình ảnh!