Unë jam duke përdorur kornizën e testit të robotiumit në një aplikacion që jam duke zhvilluar në të vërtetë, e kam ekzekutuar atë në fazën e parë të projektit dhe ishte në rregull, por dje zbatova më shumë teste dhe u zhgënjeva shumë sepse duket sikur projekti i testit nuk mund të gjeni ndonjë nga klasat e mia për të provuar. Ndodhi pasi përditësova disa gjëra në menaxherin e SDK-së, por nuk jam vërtet i sigurt nëse ka të bëjë me problemin tim. Gjithsesi ka një shembull të daljes në logcat:
05-06 16:30:27.541: E/dalvikvm(24080): Nuk mund të gjeja klasën 'com.tuntzme.controller.activities.ActivityLogin', referuar nga metoda com.tuntzme.test.activities.ActivityLoginTest.
ka një nga testet e mia:
public class ActivityCadastroTest extends ActivityInstrumentationTestCase2<ActivityCadastro>{
private Solo solo;
public ActivityCadastroTest() {
super(ActivityCadastro.class);
}
public void TesteCadastroCamposVazios() {
solo.assertCurrentActivity("activity_errada", ActivityCadastro.class);
solo.clickOnActionBarItem(R.id.menu_item_pronto_cadastro);
solo.waitForText(MensagensException.CAMPO_EMAIL_VAZIO.toString());
solo.enterText(com.tuntzme.R.id.edit_text_email_cadastro, SharedStuff.Strings.EMAIL_TESTE_SUCESSFULL.value());
solo.waitForText(MensagensException.CAMPO_SENHA_VAZIO.toString());
}
public void TesteCadastroEmailInvalido() {
solo.assertCurrentActivity("activity_errada", ActivityCadastro.class);
solo.enterText(com.tuntzme.R.id.edit_text_email_cadastro, SharedStuff.Strings.EMAIL_TESTE_WRONG_FORMAT.value());
solo.enterText(com.tuntzme.R.id.edit_text_senha_cadastro, SharedStuff.Strings.SENHA_TESTE.value());
solo.enterText(com.tuntzme.R.id.edit_text_confirmar_senha_cadastro, SharedStuff.Strings.SENHA_TESTE.value());
solo.clickOnActionBarItem(R.id.menu_item_pronto_cadastro);
solo.waitForText(MensagensException.EMAIL_INVALIDO.toString());
}
public void TesteCadastroSenhaDivergente() {
solo.assertCurrentActivity("activity_errada", ActivityCadastro.class);
solo.enterText(com.tuntzme.R.id.edit_text_email_cadastro, SharedStuff.Strings.EMAIL_TESTE_SUCESSFULL.value());
solo.enterText(com.tuntzme.R.id.edit_text_senha_cadastro, SharedStuff.Strings.SENHA_TESTE.value());
solo.enterText(com.tuntzme.R.id.edit_text_confirmar_senha_cadastro, SharedStuff.Strings.SENHA_TESTE_DIVERGENTE.value());
solo.clickOnActionBarItem(R.id.menu_item_pronto_cadastro);
solo.waitForText(MensagensException.SENHAS_NAO_COINCIDEM.toString());
}
public void TesteCadastroSucesso() {
solo.assertCurrentActivity("activity_errada", ActivityCadastro.class);
solo.enterText(com.tuntzme.R.id.edit_text_email_cadastro, SharedStuff.Strings.EMAIL_TESTE_SUCESSFULL.value());
solo.enterText(com.tuntzme.R.id.edit_text_senha_cadastro, SharedStuff.Strings.SENHA_TESTE.value());
solo.enterText(com.tuntzme.R.id.edit_text_confirmar_senha_cadastro, SharedStuff.Strings.SENHA_TESTE.value());
solo.clickOnActionBarItem(R.id.menu_item_pronto_cadastro);
solo.waitForActivity(ActivityLogin.class);
}
}
manifestimi i projektit tim të testimit:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.tuntzme.test"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.tuntzme" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<uses-library android:name="android.test.runner" />
</application>
<instrumentation android:targetPackage="com.tuntzme" android:name="android.test.InstrumentationTestRunner" />
dhe më në fund ka porosinë time dhe gjërat e eksportit për projektin e testimit
Shpresoj se dikush mund të më ndihmojë, do ta vlerësoja vërtet