“我有一个房间数据库,它正常工作,我现在想测试它,但我的测试不起作用,运行时我没有看到任何断言。在这段代码中,我添加了一条新记录并对其进行了初始化,然后断言如果添加记录”@RunWith(AndroidJUnit4.class)public class PatientDaoTest {private PatientDao patientDao;private PatientDatabase db;public int patient_db_ID;public int bed_number;@Beforepublic void createDb(){Context context = ApplicationProvider.getApplicationContext();db = Room.inMemoryDatabaseBuilder(context, PatientDatabase.class).buil();patientDao = db.patientDao();}@Afterpublic void closeDb() throws IOException {db.close();}@Testpublic 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 查询:”@Insertlong 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);}
2 回答
慕容3067478
TA贡献1773条经验 获得超3个赞
您有 3 种选择来运行您的测试
1)在菜单中运行 - >运行 - >选择你的测试而不是应用程序
2) Alt + Shift + F10。它将打开运行菜单
3) 在此菜单中单击您的测试
如果要运行 your_project 的所有测试,请右键单击“test”或“androidTest”文件夹,然后选择“Run tests in”“your_project”
一只名叫tom的猫
TA贡献1906条经验 获得超2个赞
“谢谢......根据你的指南,测试是正确的,我只是修改断言:”
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);
“并且测试通过了:))”
添加回答
举报
0/150
提交
取消