Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

tests/unit/test_prompt.py fails on a fresh clone without LANGFUSE_* env vars

Đang mở Phù hợp với người mới
#1,976 3 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@Mathoholic đang làm issue này rồi.

Từ ngày 11/10/2026.

  • #1979 của @Mathoholic — đang mở

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
80/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
python
Lĩnh vực
testing

Hướng nghiên cứu

Thiết lập đang lỗi là fixture langfuse tại tests/unit/test_prompt.py:132, fixture này gọi Langfuse() không có tham số. Hãy tái hiện bằng cách bỏ đặt các biến LANGFUSE_* rồi chạy uv run --frozen pytest tests/unit/test_prompt.py -q, sau đó so sánh với env ở cấp job trong .github/workflows/ci.yml:65-67. Công việc được coi là xong khi 18 lỗi biến mất khi không có biến môi trường, hoặc CONTRIBUTING.md ghi rõ các export cần thiết. Hãy xác nhận với một maintainer xem họ ưu tiên cách sửa nào trong hai cách được đề xuất trước khi chỉnh sửa.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

bug feat-prompt-management sdk-python

CONTRIBUTING.md says unit tests don't require a running Langfuse server, but on a fresh clone with no LANGFUSE_* env vars set, 18 tests in tests/unit/test_prompt.py error during fixture setup:

AttributeError: Langfuse client is not initialized
langfuse/_client/client.py:497

The langfuse fixture (tests/unit/test_prompt.py:132) calls Langfuse() with no arguments. Without LANGFUSE_PUBLIC_KEY, the client initializes as disabled (_resources is None), so the api setter raises when the fixture assigns Mock().

Repro (latest main):

uv sync --locked
env -u LANGFUSE_PUBLIC_KEY -u LANGFUSE_SECRET_KEY -u LANGFUSE_BASE_URL \
  uv run --frozen pytest tests/unit/test_prompt.py -q
# 8 passed, 18 errors

With dummy keys exported, all 26 pass (full tests/unit: 885 passed).

This passes in CI because the unit-test job sets LANGFUSE_PUBLIC_KEY=pk-lf-test, LANGFUSE_SECRET_KEY=sk-lf-test and LANGFUSE_BASE_URL=http://localhost:3000 at the job level (.github/workflows/ci.yml:65-67), so the gap only shows up locally.

Proposed fix (either works, happy to go with whichever you prefer):

  1. Pass the same dummy credentials CI uses explicitly in the fixture, e.g. Langfuse(public_key="pk-lf-test", secret_key="sk-lf-test", base_url="http://localhost:3000"), so tests/unit is self-contained as CONTRIBUTING.md describes.
  2. Or, if relying on env vars is intentional, add a note to CONTRIBUTING.md telling contributors to export these values before running unit tests.

Happy to open a PR if this is welcome.

Ngôn ngữ chính
Python
Star
498
Fork
361
Merge trung bình
16 giờ 40 phút
Pull request đã merge (30 ngày)
38

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của langfuse/langfuse-python

Tất cả issue của langfuse/langfuse-python

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.