Câu trả lời được chấp nhận hiện tại không cung cấp giải thích và ví dụ được liên kết không tuyệt vời khi hiển thị những gì cần phải làm. Dưới đây là một lời giải thích đầy đủ hơn, hy vọng sẽ tiết kiệm một người nào đó từ việc dành thời gian tôi đã tìm ra điều này.
Trong khi tài liệu không làm cho điều này trở nên rõ ràng, thật sự rất dễ thiết lập! Bạn có thể sử dụng một nhân vật khác với các bài kiểm tra Android được thiết kế miễn là bạn đặt testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
trong tệp build.gradle
mô-đun của mình. Nếu được đặt, bạn không cần đặt rõ ràng @RunWith(AndroidJUnit4.class)
trong các thử nghiệm có thiết bị của mình.
Một ví dụ tối thiểu sẽ trông như thế này:
build.gradle
:
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion "26.0.1"
defaultConfig {
minSdkVersion 19
targetSdkVersion 26
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
}
SampleParameterizedTest.java
:
@RunWith(Parameterized.class)
public class SampleParameterizedTest {
@Parameter(value = 0)
public int mTestInteger;
@Parameter(value = 1)
public String mTestString;
@Parameters
public static Collection<Object[]> initParameters() {
return Arrays.asList(new Object[][] { { 0, "0" }, { 1, "1" } });
}
@Test
public void sample_parseValue() {
assertEquals(Integer.parseInt(mTestString), mTestInteger);
}
}
Nếu bạn cũng có nhu cầu để chạy một số xét nghiệm cá nhân và những người khác tham số trong cùng một lớp kiểm tra, hãy xem câu trả lời này về việc sử dụng nhân vật Enclosed
: https://stackoverflow.com/a/35057629/1428743
không có ví dụ phù hợp cho câu trả lời theo liên kết đó. –