Tôi đang làm việc trên một ứng dụng Django. Chúng tôi đang sử dụng cần tây để xếp hàng ghi vào cơ sở dữ liệu Mongo của chúng tôi. Tôi đang cố gắng viết một bài kiểm tra chức năng (sử dụng Selenium) cho một hàm xếp hàng gì đó trong cần tây.Làm thế nào để tôi có được cần tây django để viết vào cơ sở dữ liệu thử nghiệm cho các bài kiểm tra chức năng của tôi?
Vấn đề là cần tây ghi vào cơ sở dữ liệu Mongo chính thay vì cơ sở dữ liệu thử nghiệm. Làm thế nào tôi có thể thiết lập các bài kiểm tra chức năng của tôi để làm việc với một thể hiện cần tây viết cho cơ sở dữ liệu thử nghiệm?
Chúng tôi đang sử dụng 'django_nose.NoseTestSuiteRunner'
làm TEST_RUNNER
.
CẬP NHẬT:
tôi đã không thể tìm ra cách để sử dụng một thể hiện của cần tây cho các bài kiểm tra, nhưng tôi đã tìm ra cách để vượt qua cần tây cho các bài kiểm tra chức năng.
Trong settings.py
tôi:
FUNC_TEST_COMMAND=['functional']
func_test_command = filter(lambda element: element in FUNC_TEST_COMMAND, sys.argv)
if len(func_test_command) > 0:
CELERY_ALWAYS_EAGER = True
này bắt chước hành vi của một AsyncResult
mà không gửi bất cứ điều gì thông qua một hàng đợi thông điệp khi chạy bộ ứng dụng thử nghiệm chức năng. (Xem http://celery.readthedocs.org/en/2.4/configuration.html#celery-always-eager để biết thêm thông tin.)
Giải pháp này có lẽ không lý tưởng cho các thử nghiệm chức năng, vì nó cắt ra một trong các lớp ứng dụng.