0

現在、Eclipse の JUnit で Android アプリケーションのテストを行っていますが、問題に直面しています。abc パッケージに 2 つのクラス ファイルがあります。test1.java と com.test.java。test1.java は、テキスト ファイルを読み取り、テキスト ファイル内のテスト ケースを取得して配列に格納する役割を果たします。一方、com.test.java は、Android アプリケーションで自動化されたブラック ボックス テストを実行するファイルです。私の問題は、テストのために test1.java からメソッド テスト ファイルに値を渡すことができないことです。

以下は私のコードです

  test1.java
 package com.calculator.test;
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.util.Random;

  import android.util.Log;

 public class test1 {
private static int j;

static String[] jeff = new String[] { "2", "2", "4"};

public static void main(String[] args) {



}

public static String[] data() {
    String[] lines = new String[0];
    String path = "C:/Users/Sony/workspace/calculator1.Test/testing1.txt";
    BufferedReader br = null;
    try {
        File file = new File(path);
        br = new BufferedReader(new InputStreamReader(new FileInputStream(
                file)));
        String line;
        while ((line = br.readLine()) != null) {
            lines = add(line, lines);
        }
        br.close();
    } catch (IOException e) {
        Log.d("error msg", e.getMessage());
    }

    return lines;
}

public String[] getDataFromAsset()
{
    return null;


}
private static String[] add(String s, String[] array) {
    int len = array.length;
    String[] temp = new String[len + 1];
    System.arraycopy(array, 0, temp, 0, len);
    temp[len] = s;
    return temp;
}

public static String print(String[] data) {
    Random random = new Random();
    int rand = random.nextInt(data.length);
    // System.out.println("Random no = " + rand + " -> " + data[rand]);
    String bbb = tes1t(data[rand]);
    //return "1 2 3"
    return bbb;

}

public static String tes1t(String data) {
    String law = data;
    String[] jeff = data.split("\\s");
    for (int j = 0; j < jeff.length; j++) {
        System.out.print(jeff[j]);
        if (j < jeff.length - 1)
            System.out.print(", ");
        else
            System.out.println();

    }
    String aaa = getdata1(jeff);
    //System.out.println(jeff[1]);
    return aaa;
}

public static String getdata1(String[] x) {

    String ss = x[1];
    //System.out.println(ss);
    return ss;
}

}

com.test.java


package com.calculator.test;

import java.util.ArrayList;

import org.junit.Rule;
import org.junit.Test;

import android.test.ActivityInstrumentationTestCase2;
import android.util.Log;
import android.widget.EditText;
import android.widget.TextView;

import com.calculator.Main;
import com.calculator.R;
import com.jayway.android.robotium.solo.Solo;

public class calculatorMainTests extends ActivityInstrumentationTestCase2<Main> {
private Solo solo;

public calculatorMainTests() {
    super(Main.class);
}

@Override
protected void setUp() throws Exception {
    super.setUp();
    solo = new Solo(getInstrumentation(), getActivity());
}

public void testDisplayBlackBox() {
    Log.d("Test 1", "started");


    //String[] ddd = test1.data();
    //String ccc = test1.print(ddd);

    solo.enterText(0, ccc);

    // Enter 20 in first editfield
    solo.enterText(1, "2");

    // Click on Multiply button
    solo.clickOnButton("Multiply");

    // Verify that resultant of 10 x 20
    assertTrue(solo.searchText("4"));

}

public void testDisplayBlackBox1() {

    Log.d("Test 2", "started");
    // Enter 10 in first editfield
    solo.enterText(0, "1");

    // Enter 20 in first editfield
    solo.enterText(1, "20");

    // Click on Multiply button
    solo.clickOnButton("Multiply");

    // Verify that resultant of 10 x 20
    assertTrue(solo.searchText("20"));

}



@Override
protected void tearDown() throws Exception {

    solo.finishOpenedActivities();
}
}
4

0 に答える 0