2013-03-13 24 views
5

Đồ đạc có xu hướng nhỏ và có thể sử dụng lại được. Cho rằng một vật cố cụ thể dựa vào đồ đạc khácCách sắp xếp đồ đạc khi sử dụng pytest

@pytest.fixture 
def Account(db, memcache): 
    ... 

Tôi muốn tổ chức đồ đạc của tôi trong mô-đun, và nhập chúng trong một thử nghiệm-tập tin cụ thể như sau (ví dụ)

from .fixtures.models import Account 

Thật không may này dường như không hoạt động. Thay vào đó, tôi luôn phải nhập tất cả các đồ thị cấp dưới, ví dụ:

from .fixtures.models import Account, db, memcache 

Cách tiếp cận tốt hơn để có đồ đạc nhỏ, có thể tái sử dụng và làm cho chúng có thể truy cập ở cấp mô-đun. (Conftest hoạt động ở cấp độ gói/thư mục.)

+6

Điều gì là sai khi tổ chức các đồ đạc trong các tập tin conftest.py? Điều này làm việc tốt cho chúng tôi trong các dự án lớn và tất cả đều được tải và có phạm vi ngầm tiềm ẩn phù hợp. – flub

Trả lời

1

Thông thường tôi không khuyến cáo điều này, nhưng nếu bạn có các mô-đun chứa một bộ đồ đạc cụ thể (Phụ thuộc vào nhau), thì có lẽ from .fixtures.models import * sẽ hoạt động được? Tôi không thể nghĩ ra một giải pháp chung khác vào lúc này, điều này sẽ tránh được việc biết các phụ thuộc cố định bên dưới trong mô-đun thử nghiệm nhập khẩu.

+0

Tôi thực sự đến từ cách tiếp cận 'từ funcargs * *, và cố gắng tránh nó. Worth a _feature request_? –

+0

trừ khi có một ý tưởng làm thế nào để cải thiện nó, một yêu cầu tính năng sẽ không được giúp đỡ nhiều, tôi sợ. – hpk42

Các vấn đề liên quan