mocha.opts không dùng nữa, làm thế nào để di chuyển sang pack.json?


8

Tôi đang làm việc trên một dự án lớn và kể từ tuần trước tôi đã cập nhật mocha, Bây giờ chúng tôi đang nhận được cảnh báo:

DeprecationWarning: Cấu hình qua mocha.opts bị ĐỔI và sẽ bị xóa khỏi phiên bản Mocha trong tương lai. Sử dụng tệp RC hoặc gói.json thay thế.

Tôi muốn di chuyển các tùy chọn sang pack.json nhưng không có hướng dẫn di chuyển tốt. tất cả các bài đăng trên GitHub với các câu hỏi tương tự đều được trả lời "xem tài liệu". Nhưng các tài liệu không chỉ ra cách chuyển một tùy chọn từ mocha.opts sang pack.json, không có thông tin nào về cách định dạng nó. Điều duy nhất tôi có thể tìm thấy là thuộc tính "spec" là mẫu cho các tệp để chạy. Không có gì khác dường như ngầm với tôi.

Tệp mocha.opts của chúng tôi:

--reporter dot
--require test/mocha.main
--recursive src/**/*.test.js
--grep @slow --invert

Nỗ lực của tôi không hoạt động :

  "mocha": {
    "reporter": "dot",
    "require": "test/mocha.main",
    "spec": "src/**/*.test.js",
    "grep": "@slow --invert"
  },

Vui lòng giải thích cách tôi định dạng khối cấu hình này để đạt được hành vi samme như khi sử dụng các tùy chọn từ mocha.opts ở trên


xin chào, bạn đã bao giờ tìm thấy giải pháp hoặc có bất kỳ lực kéo nào chưa?
Fernando B

1
Không, tôi vẫn kiên nhẫn chờ đợi. Tôi thường xuyên kiểm tra bài đăng này và xem các tài liệu mocha cho bất kỳ cập nhật nào. Tôi hứa với bạn rằng tôi sẽ viết câu trả lời chi tiết tại đây ngay khi tôi biết cách di chuyển thành công;)
Rasmus Puls

Câu trả lời:


3

Kiểm tra liên kết này để xem định dạng mới của tệp tùy chọn cho mocha:

https://github.com/mochajs/mocha/blob/master/example/config/.mocharc.yml

Về cơ bản, bạn cần một .mocharc.yml hoặc .mocharc.json, (có thêm một vài định dạng) để đặt cấu hình mocha. Tôi đến POST này với hy vọng tìm được câu trả lời. Hy vọng điều này là hữu ích cho bạn!


Cảm ơn đã đăng bài này. Nhưng sau khi tạo .mocharc.json trong đó mocha.opts của tôi là tôi có thể xác nhận rằng không có tùy chọn nào trong số đó đang được áp dụng.
Rasmus Puls

0

Có vẻ như mocha sẽ không kiểm tra gói.json để cấu hình theo mặc định, do đó bạn cần phải vượt qua --package package.json.

nhập mô tả hình ảnh ở đây


Aha, thú vị. Vì vậy, tôi nghĩ rằng cấu hình của tôi trong gói.json đang được áp dụng vì các tệp khớp với mẫu "spec": "src / ** / *. Test.js" đang được thử nghiệm. Nhưng tôi chỉ xóa tất cả cấu hình, và hóa ra chúng được kiểm tra bởi các cài đặt mocha mặc định ....
Rasmus Puls

0

    /* This example illustrates how to configure mocha globally
    *1. add the 'mocharch.json' to link mocha to the 'package.json'   like so:
    */

    {
        "package": "./package.json"
    }

    /* 2. in the 'package.json' add: */
    "mocha": {
        "recursive": "true"
    }


Cảm ơn sự tôn trọng của bạn. Nhưng tôi đang thấy hiệu quả bằng không tuyệt đối. Bây giờ tôi đã thêm cả .mocharch.json và mocharch.json (không có dấu chấm). cả hai đều trỏ đến pack.json như trong ví dụ của bạn. Trong gói.json của tôi khi tôi thay đổi "spec" để không khớp với bất kỳ tệp nào của tôi, tất cả các kiểm tra vẫn đang chạy, cho biết các tùy chọn này không được áp dụng. Những gì tôi thấy là hành vi mocha mặc định.
Rasmus Puls
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.