Hướng dẫn python import module in test - mô-đun nhập python trong thử nghiệm

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
    project
        package
            __init__.py
            module.py
        tests
            __init__.py
            test_module.py
    
    7 được công nhận là một gói bằng cách đặt một trống ____ bên trong.
  • Đặt một
    project
        package
            __init__.py
            module.py
        tests
            __init__.py
            test_module.py
    
    9 trống trong thư mục dự án.
  • Hãy chắc chắn rằng không có
    project
        package
            __init__.py
            module.py
        tests
            __init__.py
            test_module.py
    
    2 trong thư mục
    easy_install nose
    
    1.

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

Làm cách nào để nhập một mô -đun vào Unittest?

unittest..
Nhập bất hợp pháp từ thư viện tiêu chuẩn ..
Tạo một lớp gọi là TestSum kế thừa từ lớp TestCase ..
Chuyển đổi các chức năng kiểm tra thành các phương thức bằng cách thêm bản thân làm đối số đầu tiên ..
Thay đổi các xác nhận để sử dụng bản thân. ....
Thay đổi điểm nhập dòng lệnh để gọi Unittest ..

Làm cách nào để chạy một mô -đun nhập trong Python?

Làm thế nào để tạo và nhập một mô -đun trong Python ?..
Bước 1] Tạo một tệp và đặt tên nó là test.py ..
Bước 2] Bên trong test.py Tạo một hàm gọi là Display_Message [] ....
Bước 3] Bây giờ hãy tạo một tệp hiển thị tệp khác ..Py ..
Bước 4] Bên trong Display.Py Nhập tệp moduletest.py, như được hiển thị bên dưới: Nhập thử nghiệm.....
Step5].

Làm cách nào để kiểm tra mô -đun Python?

Chúng tôi phải làm theo các bước dưới đây để kiểm tra mã Python bằng mô -đun Unittest ...
#1.Viết mã ..
#2.Nhập mô -đun Unittest ..
#5.Viết phương pháp [kiểm tra] bên trong lớp.....
#2.Nhập mô -đun UTILS và Unittest ..
#3.Tạo một lớp với tên Testutils mở rộng Unittest.....

Làm cách nào để nhập một mô -đun trong thiết bị đầu cuối?

Thực hiện chuỗi các bước sau ...
Tạo một tệp mô -đun nhỏ [như ví dụ Dice.py, ở trên] ..
Bắt đầu một trình thông dịch python dòng lệnh mới trong cùng thư mục với tệp mô-đun của bạn.....
Đánh giá chức năng DIR để xem những gì trong không gian tên toàn cầu ban đầu ..
Nhập mô -đun của bạn ..

Bài Viết Liên Quan

Chủ Đề