房间的仪器测试

“我有一个房间数据库,它正常工作,我现在想测试它,但我的测试不起作用,运行时我没有看到任何断言。在这段代码中,我添加了一条新记录并对其进行了初始化,然后断言如果添加记录”


@RunWith(AndroidJUnit4.class)

public class PatientDaoTest {

private PatientDao patientDao;

private PatientDatabase db;

public int patient_db_ID;

public int bed_number;


@Before

public void createDb(){

Context context = ApplicationProvider.getApplicationContext();

db = Room.inMemoryDatabaseBuilder(context, PatientDatabase.class).buil();

patientDao = db.patientDao();}


@After

public void closeDb() throws IOException {

db.close();

}



@Test

public void InsertNewPatient() throws Exception {

PatientRecordEntity newPatient = new PatientRecordEntity();

newPatient.setPatient_db_ID("123456");

newPatient.setPatient_race("chines");

newPatient.setBed_number("123");

newPatient.setReal_bed_number("1234");

newPatient.setRegister_date("5/28/2019");

newPatient.setRegister_time("3:35:02");

newPatient.setPatient_age(12);

newPatient.setPatient_gender(1);


boolean pin = false;

int newRowId = 0;

newRowId = (int) db.patientDao().addNewPatient(newPatient);

if(newRowId == 0){

pin= true;

}


assertTrue("test is true",pin);

}}

“这是我的 Dao 查询:”


@Insert

long addNewPatient(PatientRecordEntity newPatient);

“这是使用此 dao 查询的函数。如果我的@test 为真,我不会拒绝”


public static int AddPatientToDB() {

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());

String formatedDate = sdf.format(new Date());

sdf = new SimpleDateFormat("HH-mm-ssZ", Locale.getDefault());

String formatedTime = sdf.format(new Date());

PatientRecordEntity newPatient = new PatientRecordEntity();

newPatient.setBed_number(bed_no);

newPatient.setPatient_db_ID(patient_id);

newPatient.setRegister_time(formatedTime);

newPatient.setRegister_date(formatedDate);

}



翻翻过去那场雪
浏览 56回答 2
2回答

慕容3067478

您有 3 种选择来运行您的测试1)在菜单中运行 - >运行 - >选择你的测试而不是应用程序2) Alt + Shift + F10。它将打开运行菜单3) 在此菜单中单击您的测试如果要运行 your_project 的所有测试,请右键单击“test”或“androidTest”文件夹,然后选择“Run tests in”“your_project”

一只名叫tom的猫

“谢谢......根据你的指南,测试是正确的,我只是修改断言:”boolean pin = false;int newRowId = 0;newRowId = (int) patientDao.addNewPatient(newPatient);newPatient.setPid(newRowId);if(0 != newRowId){pin= true;}assertTrue("addNewPatient is not true",pin);“并且测试通过了:))”
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java