Tôi đã bắt đầu sử dụng Android Studio và gradle gần đây để phát triển Android và tìm thấy nó tốt hơn tổng thể hơn eclipse/ant hoặc maven. Tuy nhiên, gần đây tôi đã bắt đầu cố gắng triển khai một số loại thử nghiệm đơn vị và tích hợp với ứng dụng của mình. Tôi đã có thể nhận được các bài kiểm tra cơ bản làm việc bằng cách sử dụng khung công tác Espresso gần đây được phát hành bởi google. Tôi đã có một số xét nghiệm mặc dù nơi tôi cần thiết để thử và tiêm các phiên bản của các đối tượng giả. Tôi đã sử dụng dao găm trong quá khứ cho một dự án khác vì vậy tôi đã đưa dao găm vào dự án của mình. Tuy nhiên bây giờ thử nghiệm của tôi sẽ không chạy vì các lỗi sau:Sử dụng android gradle + dagger để chạy InstrumentTests
gradle connectedCheck
...
4.1.2 failed: Instrumentation run failed due to 'java.lang.IllegalAccessError' :EspressoApp:connectedCheck
Tôi tạo ra một bản demo đơn giản này ở đây: https://github.com/mwolfe38/android-espresso-dagger
Chỉ cần tạo bản sao và sau đó từ dòng lệnh chạy: gradle connectedCheck
Ở trên, tôi đã thử các phụ thuộc một số cách khác nhau, ban đầu như sau:
dependencies {
compile 'com.android.support:appcompat-v7:+'
compile 'com.squareup.dagger:dagger-compiler:1.1.0'
compile 'com.squareup.dagger:dagger:1.1.0'
instrumentTestCompile files('libs/espresso-1.0-SNAPSHOT.jar',
'libs/testrunner-1.0-SNAPSHOT.jar',
'libs/testrunner-runtime-1.0-SNAPSHOT.jar')
instrumentTestCompile 'org.hamcrest:hamcrest-all:1.3'
instrumentTestCompile 'com.google.guava:guava:15.0'
}
nhưng điều đó mang lại cho tôi một lỗi liên quan đến khởi tạo tĩnh. Điều này dường như được gây ra bởi một số mã khởi tạo tĩnh trong khung espresso liên quan đến dao găm. Vì vậy, Sau khi thêm phụ thuộc dao găm vào instrumentTestCompile, tôi nhận được IllegalAccessError được đề cập ở trên.
Bất kỳ ai có may mắn kể cả dao găm trong dự án của bạn và thực hiện các bài kiểm tra cà phê espresso?
Bạn sẽ nghĩ rằng họ chỉ có thể lấy gói cà phê espresso theo thời gian .aar .... – jophde
vâng hoặc chỉ cần đặt nó vào trung tâm maven để chúng tôi có thể bao gồm nó như mọi phụ thuộc khác. Một nỗi đau! Tôi yêu bộ thử nghiệm bây giờ mà nó hoạt động nhưng nhận được nó để làm việc là một cơn ác mộng! –
Tôi sử dụng Eclipse và điều này không giúp tôi. – Viacheslav