AIDE (Android Java IDE) JUnit Test Tutorial part2
前回に引き続き、JUnit。
さすがにあのやり方はだるすぎます・・・
せめて、Terminal Emulatorを使わずにやってみます。
package com.mycompany.myapptest; import android.app.*; import android.os.*; import android.widget.*; import java.io.*; import java.lang.Process; import android.view.*; public class MainActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); getDefaultTextView().setText(executeTest()); } private String executeTest() { String result = ""; try { ProcessBuilder pb = new ProcessBuilder( "am", "instrument", "-w", "-e", "class", "com.mycompany.myapptest.HelloTest", "com.mycompany.myapptest/android.test.InstrumentationTestRunner"); Process p = pb.start(); InputStream input = p.getInputStream(); byte[] buffer = new byte[1024 * 4]; int readBytes = 0; StringBuilder sb = new StringBuilder(); while ((readBytes = input.read(buffer)) > 0) { sb.append(new String(buffer, 0, readBytes)); } result = sb.toString(); } catch (IOException e) { e.printStackTrace(); } return result; } private TextView getDefaultTextView() { ViewGroup root = (ViewGroup)findViewById(android.R.id.content); LinearLayout main = (LinearLayout)root.getChildAt(0); TextView textView = (TextView)main.getChildAt(0); return textView; } }
こんな感じ。
Yeah!
できました!