Cách viết tắt của pythonic một cách không rõ ràng nhất để xem mô-đun có được cài đặt đúng không? Bằng cách cài đặt đúng tôi có nghĩa là, nó không nâng cao một ImportError: Không có module có tên foo.Cách viết unittest cho việc nhập mô-đun vào Python
Trả lời
As I have to deploy my Django application on a different server and it requires some extra modules I want to make sure that all required modules are installed.
Đây không phải là hoàn cảnh thử nghiệm đơn vị.
Đây là quy trình sẵn sàng sản xuất và không phải là - về mặt kỹ thuật - thử nghiệm ứng dụng của bạn.
Đó là truy vấn về môi trường. Của chúng tôi bao gồm hàng chục thứ.
Bắt đầu bằng một tập lệnh đơn giản như thế này. Thêm mỗi điều bạn cần phải chắc chắn tồn tại.
try:
import simplejson
except ImportError:
print "***FAILURE: simplejson missing***"
sys.exit(2)
sys.exit(0)
Chỉ chạy tập lệnh này trong từng môi trường như là một phần của quá trình cài đặt. Nó không phải là một bài kiểm tra đơn vị nào cả. Đó là điều kiện tiên quyết để cài đặt.
Cảm ơn rất nhiều, và xin lỗi vì sử dụng các thuật ngữ sai, nó rõ ràng là đặt một bó toàn bộ của người dân trên bàn chân sai :) – DrDee
Tôi không thấy lý do tại sao bạn cần phải kiểm tra điều này, nhưng một cái gì đó như:
def my_import_test(self):
import my_module
Nếu một lỗi nhập khẩu được nâng lên các thử nghiệm đã thất bại, nếu không muốn nói nó đi.
Có lẽ tôi không rõ ràng về những gì tôi cần. Tôi muốn kiểm tra xem việc nhập khẩu một mô-đun có thành công hay không vì vậy tôi có thể xem những mô-đun nào bị thiếu và cần phải được cài đặt. Vì vậy, làm thế nào tôi có thể sử dụng một self.assertUnequals ... tuyên bố – DrDee
- 1. Python - doctest vs. unittest
- 2. Python unittest và khám phá
- 3. Làm cách nào để nhập mô-đun từ thư mục chính? (unittest purpose)
- 4. Làm thế nào để nhập khẩu một lớp từ unittest trong python?
- 5. Lệnh thi hành trên python unittest
- 6. Python unittest - khẳng định từ điển với danh sách
- 7. Thực tiễn tốt nhất cho việc môđun hóa các kịch bản lệnh kiểm tra của Selenium RC
- 8. Nhập hàm C++ vào chương trình Python
- 9. Python Viết byte vào tập tin
- 10. Làm thế nào người ta có thể sử dụng mô-đun đăng nhập trong python với mô-đun unittest?
- 11. Công việc CRON cho người viết mã
- 12. Cách kiểm tra đơn vị chức năng ghi tệp bằng python unittest
- 13. Nhúng Python vào C - module nhập khẩu
- 14. python, viết Json vào tập tin
- 15. Pylint và unittest
- 16. Cách nhập dữ liệu vào một mảng + PYTHON?
- 17. Kiểm tra bằng Python - cách sử dụng assertRaises trong thử nghiệm bằng cách sử dụng unittest?
- 18. Cách viết để đăng nhập trăn bằng nginx + uwsgi
- 19. Tắt một số bản in trong python unittest
- 20. Cách tạo fmt: formatDate làm việc cho biểu mẫu: nhập
- 21. Đăng nhập vào trang web bằng python
- 22. Chạy lệnh quản lý Python/Django từ UnitTest/WebTest
- 23. Nhập dữ liệu SPSS vào Python
- 24. Viết trợ giúp cho tập lệnh python
- 25. Python, unittest: Có thể làm cho TestRunner hoàn toàn yên tĩnh không?
- 26. python unittest assertRaises ném ngoại lệ khi assertRaises thất bại
- 27. Python tại sao không viết một contextmanager cho một con trỏ sqlite3 làm việc?
- 28. Làm thế nào tôi có thể nhận được của Python unittest để không bắt ngoại lệ?
- 29. Viết danh sách Python vào các cột trong csv
- 30. nhập khẩu tương đối bằng Python 3 không làm việc
Nói chung, không có nhiều thử nghiệm đơn vị. Bạn không tin vào câu lệnh 'import'? Dòng nhập mã rất đơn giản - và dễ kiểm tra - có vẻ như một chút ngớ ngẩn để kiểm tra nó. Tại sao bạn thử nghiệm đơn vị câu lệnh 'import'? –
Vì tôi phải triển khai ứng dụng Django của mình trên một máy chủ khác và nó yêu cầu một số mô-đun bổ sung, tôi muốn đảm bảo rằng tất cả các mô-đun cần thiết được cài đặt. Ví dụ, đảm bảo rằng simplejson được cài đặt cho python 2.5. Tất nhiên tôi tin tưởng vào các báo cáo nhập khẩu, tôi chỉ không muốn quên cài đặt một mô-đun tôi cần. – DrDee
Dường như bạn đang chạy thử nghiệm trên môi trường sản xuất, đó là ... lạ. Dù sao, bạn đang thử nghiệm rằng bạn có phụ thuộc thích hợp, đó là một công việc cho người quản lý gói. Hoặc là tạo ra các gói cho ứng dụng của bạn, hoặc sử dụng các trình quản lý phụ thuộc pythonic (pip và pip install -r requirements.txt trong virtualenv đến trong tâm trí). – Almad