Chúng tôi có 2 hương vị sản phẩm trong ứng dụng của chúng tôi và một hương vị có một lớp (FlavorSpecificClass) mà loại kia không có. Chúng tôi có một bài kiểm tra junit cho FlavorSpecificClass trong thư mục src/test mà sẽ không biên dịch khi chúng tôi đang ở trên biến thể cốt lõi của chúng tôi bởi vì lớp không tồn tại trong biến thể đó.Cách kiểm tra Đơn vị (junit) Hương vị Android/Biến thể - lớp không tồn tại
Tôi không thể tìm cách thử nghiệm đơn vị riêng biệt trên mỗi biến thể và mã sẽ không biên dịch trong biến thể cốt lõi của chúng tôi trừ khi tôi nhận xét tham chiếu đến FlavorSpecificClass. Làm sao để tôi có được xung quanh này?
Có sử dụng gradle. Tôi đã thử điều này và nó hoạt động để chỉ chạy thử nghiệm trong thư mục testDebug khi biến thể gỡ lỗi được chọn tuy nhiên vấn đề với biến thể chính không biên dịch do lớp chỉ tồn tại trong gỡ lỗi. Lớp này chỉ được đề cập trong các bài kiểm tra trong thư mục testDebug, tuy nhiên biến thể chính sẽ vẫn không biên dịch và chạy. – DDM
Sau đó, điều đó có nghĩa là biến thể chính của bạn muốn lớp đó ở đó. Bạn có thể cần thêm lớp đó vào tất cả các biến thể. Các biến thể khác có thể có phương thức no-op. –
Chúng tôi đã tìm ra. Khi tôi đã tạo thư mục testDebug, tôi đã tiến hành tạo thư mục java bằng cách chọn New -> Folder -> Java Folder. Điều này tự động được thêm vào 'src/testDebug/java' vào bộ nguồn chính của tôi trong build.gradle. Những gì làm việc là chỉ cần tạo thư mục java bằng cách sử dụng New -> Directory và sau đó tập tin build.gradle là không bao giờ sửa đổi. – DDM