tôi đã thêm các phụ thuộc sau đây để dự án Android của tôi:Bắt junit.framework.AssertionFailedError: Không có xét nghiệm tìm thấy trong [gói] khi sử dụng Unit và Mockito
// Unit testing dependencies
androidTestCompile 'junit:junit:4.12'
// Set this dependency if you want to use Mockito
androidTestCompile 'org.mockito:mockito-core:1.10.19'
Và tạo ra một thử nghiệm sử dụng api Junit4 (một ví dụ, adder là một lớp đơn giản mà tổng ints):
@RunWith(MockitoJUnitRunner.class)
public class AdderTest {
@Test
public void testValidAdd() {
Adder adder = new Adder();
assertEquals(adder.add(1,1), 2);
}
}
Khi tôi cố gắng chạy thử nghiệm, tôi nhận được:
Running tests Test running started junit.framework.AssertionFailedError: No tests found in com.test.myapp.AdderTest at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191) at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176) at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:554) at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1701) Finish
Tôi đã đọc here và here, nhưng không có gì hữu ích.
Có ai nhìn thấy những gì tôi đang làm sai/có bất kỳ đầu vào nào không?
Bài kiểm tra đơn vị thuộc về thư mục 'test', vì vậy hãy sử dụng' testCompile'. Ngoài ra, bạn không cần '@RunWith (MockitoJUnitRunner.class)'. –
Đây chỉ là một ví dụ. Tôi cần trong dự án ban đầu của tôi để sử dụng mocks. Ngoài ra, mã mà tôi đang thử nghiệm sử dụng android.util.Patterns.EMAIL_ADDRESS và mã trả về null khi tôi chạy nó dưới dạng kiểm tra đơn vị. Nếu tôi chạy nó như là một thử nghiệm thiết bị Android, nó sẽ không trả lại sự phù hợp thực tế? – dors
Đăng mã của bạn để rõ ràng. Bạn nên sử dụng Robolectric để kiểm tra đơn vị.Nó sẽ cụ các lớp bạn cần để bạn không cần mocks * cho mọi thứ *. –