dingus

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

Rating: 4.0/5 (Total Votes: 2)

dingus là loại giống như một đối tượng giả. Sự khác biệt chính là bạn không thiết lập những kỳ vọng trước thời hạn. Bạn chỉ cần chạy mã của bạn, bằng cách sử dụng một dingus ở vị trí của một đối tượng hoặc lớp học, và nó sẽ ghi lại những gì xảy ra với nó. Sau đó, một lần mã của bạn đã được thực hiện, bạn có thể làm cho những khẳng định về những gì nó đã làm cho dingus.
Một dingus mới được tạo ra từ các lớp Dingus. Bạn có thể cung cấp cho dinguses tên, giúp với gỡ lỗi thử nghiệm của bạn, đặc biệt là khi có nhiều dinguses chơi.
& Nbsp; >>> từ dingus nhập Dingus
& Nbsp; >>> d = Dingus ('root')
& Nbsp; >>> d
& Nbsp;
Truy cập bất kỳ thuộc tính của một dingus sẽ trả về một dingus mới.
& Nbsp; >>> d.something
& Nbsp;
Có một vài trường hợp ngoại lệ cho dingus đặc biệt phương pháp. Chúng ta sẽ thấy một số trong một bit.
Một dingus cũng có thể được gọi như một chức năng hoặc phương pháp. Nó không quan tâm có bao nhiêu đối số mà bạn cung cấp cho nó hoặc những gì các đối số. Các cuộc gọi đến một dingus sẽ luôn luôn trở về cùng một đối tượng, bất kể các đối số.
& Nbsp; >>> d ()
& Nbsp;
& Nbsp; >>> d ('tranh luận')
& Nbsp;
& Nbsp; >>> d (55)
& Nbsp;
GHI và khẳng định
Bất cứ lúc nào chúng ta có thể có được một danh sách các cuộc gọi đã được thực hiện cho một dingus. Mỗi mục trong danh sách cuộc gọi có chứa:
& Nbsp; * tên của phương pháp này được gọi là (hoặc "()" nếu dingus tự nó đã được gọi là)
& Nbsp; * Các đối số, hoặc () nếu không
& Nbsp; * Các argumnets từ khóa, hoặc {} nếu không
& Nbsp; * Các giá trị đã được trả lại cho người gọi
Dưới đây là một danh sách các cuộc gọi, chúng tôi đã thực hiện cho đến nay d:
& Nbsp; >>> từ pprint nhập pprint
& Nbsp; >>> pprint (d.calls)
& Nbsp; [('()', (), {}, ),
& Nbsp; ('()', ('tranh luận',), {}, ),
& Nbsp; ('()', (55,), {}, )]
Bạn có thể lọc các cuộc gọi theo tên, lập luận, và đối số từ khóa:
& Nbsp; >>> pprint (d.calls ('()', 55))
& Nbsp; [('()', (55,), {}, )]
Nếu bạn không quan tâm đến giá trị của một tham số đặc biệt, bạn có thể sử dụng các giá trị DontCare khi lọc:
& Nbsp; >>> từ dingus nhập DontCare
& Nbsp; >>> pprint (d.calls ('()', DontCare))
& Nbsp; [('()', ('tranh luận',), {}, ),
& Nbsp; ('()', (55,), {}, )]
Dinguses có thể làm nhiều hơn là chỉ có các thuộc tính truy cập và được gọi là. Họ hỗ trợ nhiều nhà khai thác Python. Mục đích là để cho phép, và ghi lại, bất kỳ sự tương tác:
& Nbsp; >>> d = Dingus ('root')
& Nbsp; >>> (2 ** d.something) ['hello'] () / 100 * 'foo'
& Nbsp;
(Hy vọng rằng các bản ghi âm dingus thực thế giới của bạn sẽ không giống như thế này!)

Dingus cung cấp một bối cảnh quản lý cho vá đối tượng trong các thử nghiệm. Ví dụ như:
& Nbsp; >>> từ dingus nhập vá
& Nbsp; >>> nhập urllib2
& Nbsp; >>> với patch ('urllib2.urlopen'):
& Nbsp; ... in urllib2.urlopen .__ class__
& Nbsp;
& Nbsp; >>> print urllib2.urlopen .__ class__
& Nbsp;
Bạn cũng có thể sử dụng điều này như một trang trí trên các phương pháp thử nghiệm của bạn:
& Nbsp; >>>patch ('urllib2.urlopen')
& Nbsp; ... def test_something (tự):
& Nbsp; vượt qua ...
& Nbsp; ...
MAGIC NGUY HIỂM
Dingus cũng có thể tự động thay thế toàn cục của mô-đun khi chạy thử nghiệm. Điều này cho phép bạn để viết bài kiểm tra đơn vị bị cô lập hoàn toàn. Xem ví dụ / urllib2 / test_urllib2.py cho một ví dụ. Các tác giả không còn khuyến cáo tính năng này, vì nó có thể khuyến khích các bài kiểm tra rất giòn. Bạn sẽ cảm thấy nỗi đau của phụ thuộc tay chế nhạo; . nỗi đau sẽ cho bạn biết khi một lớp hợp tác với quá nhiều người khác

Yêu cầu :

  • Python

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

nosango
nosango

11 May 15

pinocchio
pinocchio

14 Apr 15

TextTest
TextTest

18 Jul 15

nbdebug
nbdebug

11 May 15

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

expecter
expecter

20 Feb 15

Ý kiến ​​để dingus

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