Các tệp nguồn của tôi được đặt trong SRC và các tệp thử nghiệm của tôi được đặt trong các thử nghiệm. Khi tôi muốn chạy một tệp kiểm tra, hãy nói python mytest.py, tôi gặp lỗi nhập: "Không có mô -đun có tên AsourCemodule.py".
Làm cách nào để nhập tất cả các mô -đun từ nguồn cần thiết để chạy thử nghiệm của tôi?
hỏi ngày 21 tháng 1 năm 2011 lúc 16:15Jan 21, 2011 at 16:15
0
Bạn cần thêm thư mục đó vào đường dẫn:
import sys
sys.path.append['../src']
Có thể đặt nó vào một mô -đun nếu bạn đang sử dụng nó rất nhiều.
Đã trả lời ngày 21 tháng 1 năm 2011 lúc 16:17Jan 21, 2011 at 16:17
ThomasthomasThomas
168K46 Huy hiệu vàng346 Huy hiệu bạc458 Huy hiệu Đồng46 gold badges346 silver badges458 bronze badges
1
Nếu bạn không muốn thêm đường dẫn nguồn vào mỗi tệp kiểm tra hoặc thay đổi PYTHONPATH
của mình, bạn có thể sử dụng mũi để chạy thử nghiệm.
Giả sử cấu trúc thư mục của bạn là như thế này:
project
package
__init__.py
module.py
tests
__init__.py
test_module.py
Bạn nên nhập mô -đun bình thường trong test_module.py
[ví dụ: from package import module
]. Sau đó chạy các bài kiểm tra bằng cách chạy
project
package
__init__.py
module.py
tests
__init__.py
test_module.py
0 trong thư mục dự án. Bạn cũng có thể chạy các bài kiểm tra cụ thể bằng cách thực hiện project
package
__init__.py
module.py
tests
__init__.py
test_module.py
1.project
package
__init__.py
module.py
tests
__init__.py
test_module.py
2 trong thư mục project
package
__init__.py
module.py
tests
__init__.py
test_module.py
3 là cần thiết nếu bạn muốn chạy các bài kiểm tra từ bên trong nó.Bạn có thể cài đặt mũi dễ dàng với
project
package
__init__.py
module.py
tests
__init__.py
test_module.py
4 hoặc project
package
__init__.py
module.py
tests
__init__.py
test_module.py
5:easy_install nose
hoặc
pip install nose
Mũi mở rộng Unittest theo nhiều cách hơn, để tìm hiểu thêm về nó, bạn có thể kiểm tra trang web của họ: //nose.readthedocs.org/en/latest/
Đã trả lời ngày 25 tháng 10 năm 2012 lúc 6:25Oct 25, 2012 at 6:25
Anderson Vieiraanderson VieiraAnderson Vieira
8.7592 huy hiệu vàng36 Huy hiệu bạc48 Huy hiệu đồng2 gold badges36 silver badges48 bronze badges
1
Trên hệ thống của tôi [Windows 10], tôi được yêu cầu phải làm điều gì đó như sau:
import sys
import os
sys.path.append[os.path.dirname[os.path.realpath[__file__]] + "/../src"]
Nối thêm thư mục tương đối trực tiếp vào
project
package
__init__.py
module.py
tests
__init__.py
test_module.py
6 không hoạt động
Đã trả lời ngày 22 tháng 1 năm 2016 lúc 3:41Jan 22, 2016 at 3:41
Frank Brycefrank BryceFrank Bryce
7.7364 Huy hiệu vàng36 Huy hiệu bạc55 Huy hiệu Đồng4 gold badges36 silver badges55 bronze badges
Giải pháp tốt nhất [có thể quản lý nhất] dường như đang sử dụng VirtualEnv và Setuptools/Distribute để cài đặt bản sao phát triển của gói [SRC] của bạn. Bằng cách đó, các thử nghiệm của bạn thực thi đối với một hệ thống "đã cài đặt" đầy đủ.
Trong các tài liệu pystest có một phần về "thực tiễn tốt" giải thích phương pháp này, xem ở đây.
Sjoerd
72.6K16 Huy hiệu vàng129 Huy hiệu bạc171 Huy hiệu đồng16 gold badges129 silver badges171 bronze badges
Đã trả lời ngày 24 tháng 1 năm 2011 lúc 9:45Jan 24, 2011 at 9:45
Barry Warkbarry WarkBarry Wark
107K24 Huy hiệu vàng180 Huy hiệu bạc205 Huy hiệu đồng24 gold badges180 silver badges205 bronze badges
3
Đối với những người sử dụng pytest:Pytest:
- Hãy chắc chắn rằng
7 được công nhận là một gói bằng cách đặt một trống ____ bên trong.project package __init__.py module.py tests __init__.py test_module.py
- Đặt một
9 trống trong thư mục dự án.project package __init__.py module.py tests __init__.py test_module.py
- Hãy chắc chắn rằng không có
2 trong thư mụcproject package __init__.py module.py tests __init__.py test_module.py
1.easy_install nose
Có vẻ như thế này:
project
conftest.py
src
__init__.py
module.py
test
test_module.py
Và đảm bảo
easy_install nose
2 chứa dòng:from src import module
Nguồn: tài liệu pytest
Đã trả lời ngày 29 tháng 9 lúc 14:26Sep 29 at 14:26
JOOOEYJOOOEEYJoooeey
2.8981 Huy hiệu vàng29 Huy hiệu bạc44 Huy hiệu đồng1 gold badge29 silver badges44 bronze badges