Làm cách nào để chỉ định nhiều bộ lọc loại trừ trong --gtest_filter?


83

Câu hỏi là về khung kiểm tra google. Tôi muốn chạy tất cả các bài kiểm tra loại trừ một số bài kiểm tra theo nhiều bộ lọc loại trừ, như: --gtest_filter=-ABC.*:-BCD.*

Câu trả lời:


123

Bạn nhóm các mẫu trong biểu mẫu --gtest_filter=POSTIVE_PATTERNS[-NEGATIVE_PATTERNS]

Vì vậy, trong trường hợp này, bạn muốn --gtest_filter=-ABC.*:BCD.*


5
Tuyệt quá. Tôi đã mất một lúc để phân nhóm ý nghĩa và sự khác biệt chính xác giữa ví dụ về OP và câu trả lời. Lưu ý rằng ký tự '-' là một ký tự duy nhất ảnh hưởng đến cả hai biểu thức. Mặt khác, op thêm ký tự '-' vào mỗi biểu thức.
Paulo Neves

8

Xem https://blogs.msdn.microsoft.com/taxiahou/2013/07/30/the-usage-of-running-a-subset-of-tests-in-google-test-framework-gtest_filter/ . Bạn có thể tìm thấy một ví dụ rõ ràng ở đó.

Loại trừ được xác định bằng dấu '-'. Bạn có thể nói nhiều phân tách bằng:. không cần lặp lại - với:.

--gtest_filter=-*str* : Điều này sẽ chạy các bài kiểm tra không chứa chuỗi "str".

--gtest_filter=-*str1*:*str2* : Thao tác này sẽ chạy các bài kiểm tra không chứa "str1" hoặc "str2":

--gtest_filter=*str*:-*str1*:*str2* : Điều này sẽ chạy các bài kiểm tra có chứa str và không chứa str1 hoặc str2.

Vì vậy, bất kỳ thứ gì theo sau bởi '-' sẽ được tính vào danh sách loại trừ.

Vì vậy, trong trường hợp của bạn, nó sẽ --gtest_filter=-ABC.*:BCD.*

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.